Forum to provide PowerShell basics

I like scripting in UNIX/Linux because the bash, ksh, csh and sh shells are so easy to work with.
I have over the past 15 years worked with a few scripting environments on Windows, but none have really been as powerful or flexible as the UNIX shell types.  I even worked with WScript for a very short
stint, and it was showing promise and then all of a sudden support for it was dropped.
Is PowerShell here to stay or should I not bother learning how to script in this environment.  I ask because an environment changes and a language evolves and I don't want to be caught on the backend of
another MS Windows scripting environment change.  I would like to see a scripting language that I can work with and use for a long while.
Thanks,
Warron

I even worked with WScript for a very short stint, and it was showing promise and then all of a sudden support for it was dropped.
I'm not sure where this comment comes from, but WSH scripts are still supported and work just fine. (In fact, some WSH scripts are part of the core OS.)
But that aside, I agree that PowerShell is a better starting point.
-- Bill Stewart [Bill_Stewart]

Similar Messages

  • Forum FR: provide a "my new posts" list

    A feature request for the forum software:
    Would be nice if you could provide a list of all posts that initally where posted (new topic) by me ("my new posts").
    It is really difficult to track the questions i have posted in my watches or the recent messages list in my user profile.
    Thanks, Markus

    Weird ... I understand about Reps & levels being (tempoorarily/temporally) 'ou to lunch' but I am puzzled about posts ...
    Many others' counts look OK to me (people I'm familiar with, or would consider 'Peers in Posts', obviously .
    I appear to have lost many hundreds - who remembers exactly ? It's not the sort of thing I memorize - But it was more 400 than 40... or 800 than 80.
    (I have ca. 600 in my mailbox just from my posts - and just from threads I had email Subs to ... so a 2 digit number is fairly unlikely grin)
    Perhaps it'll all sort itself out
    (I never did much like the way Posts arbitrarily went Offline, anyway - permanently unavailable to searches - so I'd subscribe via email to have my own copy. This made it easier to explain/answer the same complicated question/problem the next 20 times it got asked after the original dropped off the twig. It's not as if the questions & answers don't remain relevant - in many cases, for years afterwards...)
    Shrug

  • [Forum FAQ] Using PowerShell to assign permissions on Active Directory objects

    As we all know, the
    ActiveDirectoryAccessRule class is used to represent an access control entry (ACE) in the discretionary access control list (DACL) of an Active Directory Domain Services object.
    To set the permissions on Active Directory objects, the relevant classes and their enumerations are listed as below:
    System.DirectoryServices.ActiveDirectoryAccessRule class:
    http://msdn.microsoft.com/en-us/library/system.directoryservices.activedirectoryaccessrule(v=vs.110).aspx
    System.DirectoryServices.ActiveDirectoryRights
    class:
    http://msdn.microsoft.com/en-us/library/system.directoryservices.activedirectoryrights(v=vs.110).aspx
    System.Security.AccessControl.AccessControlType class:
    http://msdn.microsoft.com/en-us/library/w4ds5h86(v=vs.110).aspx
    System.DirectoryServices.ActiveDirectorySecurityInheritance class:
    http://msdn.microsoft.com/en-us/library/system.directoryservices.activedirectorysecurityinheritance(v=vs.110).aspx
    In this article, we introduce three ways to get and set the ACE on an Active Directory object. In general,
    we use Active Directory Service Interfaces (ADSI) or
    Active Directory module cmdlets
    with the Get-Acl and Set-Acl cmdlets to assign simple permissions on Active Directory objects. In addition, we can use the extended rights and GUID settings to execute
    more complex permission settings.
    Method 1: Using ADSI
      1. Get current permissions of an organization unit (OU)
    We can use the PowerShell script below to get current permissions of an organization unit and you just need to define the name of the OU.
    $Name = "OU=xxx,DC=com"
    $ADObject = [ADSI]"LDAP://$Name"
    $aclObject = $ADObject.psbase.ObjectSecurity
    $aclList = $aclObject.GetAccessRules($true,$true,[System.Security.Principal.SecurityIdentifier])
    $output=@()
    foreach($acl in $aclList)
    $objSID = New-Object System.Security.Principal.SecurityIdentifier($acl.IdentityReference)
         $info = @{
    'ActiveDirectoryRights' = $acl.ActiveDirectoryRights;
    'InheritanceType' = $acl.InheritanceType;
    'ObjectType' = $acl.ObjectType;
    'InheritedObjectType' = $acl.InheritedObjectType;
    'ObjectFlags' = $acl.ObjectFlags;
    'AccessControlType' = $acl.AccessControlType;
    'IdentityReference' = $acl.IdentityReference;
    'NTAccount' = $objSID.Translate( [System.Security.Principal.NTAccount] );
    'IsInherited' = $acl.IsInherited;
    'InheritanceFlags' = $acl.InheritanceFlags;
    'PropagationFlags' = $acl.PropagationFlags;
    $obj = New-Object -TypeName PSObject -Property $info
    $output+=$obj}
    $output
    In the figure below, you can see the results of running the script above:
    Figure 1.
    2. Assign a computer object with Full Control permission on an OU
    We can use the script below to delegate Full Control permission to the computer objects within an OU:
    $SysManObj = [ADSI]("LDAP://OU=test….,DC=com") #get the OU object
    $computer = get-adcomputer "COMPUTERNAME" #get the computer object which will be assigned with Full Control permission within an OU
    $sid = [System.Security.Principal.SecurityIdentifier] $computer.SID
    $identity = [System.Security.Principal.IdentityReference] $SID
    $adRights = [System.DirectoryServices.ActiveDirectoryRights] "GenericAll"
    $type = [System.Security.AccessControl.AccessControlType] "Allow"
    $inheritanceType = [System.DirectoryServices.ActiveDirectorySecurityInheritance] "All"
    $ACE = New-Object System.DirectoryServices.ActiveDirectoryAccessRule $identity,$adRights,$type,$inheritanceType #set permission
    $SysManObj.psbase.ObjectSecurity.AddAccessRule($ACE)
    $SysManObj.psbase.commitchanges()
    After running the script above, you can check the computer object in Active Directory Users and Computers (ADUC) and it is under the Security tab in OU Properties.
    Method 2: Using Active Directory module with the Get-Acl and Set-Acl cmdlets
    You can use the script below to get and assign Full Control permission to a computer object on an OU:
    $acl = get-acl "ad:OU=xxx,DC=com"
    $acl.access #to get access right of the OU
    $computer = get-adcomputer "COMPUTERNAME"
    $sid = [System.Security.Principal.SecurityIdentifier] $computer.SID
    # Create a new access control entry to allow access to the OU
    $identity = [System.Security.Principal.IdentityReference] $SID
    $adRights = [System.DirectoryServices.ActiveDirectoryRights] "GenericAll"
    $type = [System.Security.AccessControl.AccessControlType] "Allow"
    $inheritanceType = [System.DirectoryServices.ActiveDirectorySecurityInheritance] "All"
    $ACE = New-Object System.DirectoryServices.ActiveDirectoryAccessRule $identity,$adRights,$type,$inheritanceType
    # Add the ACE to the ACL, then set the ACL to save the changes
    $acl.AddAccessRule($ace)
    Set-acl -aclobject $acl "ad:OU=xxx,DC=com"
    Method 3: Using GUID setting
    The scripts above can only help us to complete simple tasks, however, we may want to execute more complex permission settings. In this scenario, we can use GUID settings to achieve
    that.
    The specific ACEs allow an administrator to delegate Active Directory specific rights (i.e. extended rights) or read/write access to a property set (i.e. a named collection of attributes) by
    setting ObjectType field in an object specific ACE to the
    rightsGuid of the extended right or property set. The delegation can also be created to target child objects of a specific class by setting the
    InheritedObjectType field to the schemaIDGuid of the class.
    We choose to use this pattern: ActiveDirectoryAccessRule(IdentityReference, ActiveDirectoryRights, AccessControlType, Guid, ActiveDirectorySecurityInheritance, Guid)
    You can use the script below to
    assign the group object with the permission to change user password on all user objects within an OU.
    $acl = get-acl "ad:OU=xxx,DC=com"
    $group = Get-ADgroup xxx
    $sid = new-object System.Security.Principal.SecurityIdentifier $group.SID
    # The following object specific ACE is to grant Group permission to change user password on all user objects under OU
    $objectguid = new-object Guid 
    00299570-246d-11d0-a768-00aa006e0529 # is the rightsGuid for the extended right User-Force-Change-Password (“Reset Password”) 
    class
    $inheritedobjectguid = new-object Guid 
    bf967aba-0de6-11d0-a285-00aa003049e2 # is the schemaIDGuid for the user
    $identity = [System.Security.Principal.IdentityReference] $SID
    $adRights = [System.DirectoryServices.ActiveDirectoryRights] "ExtendedRight"
    $type = [System.Security.AccessControl.AccessControlType]
    "Allow"
    $inheritanceType = [System.DirectoryServices.ActiveDirectorySecurityInheritance] "Descendents"
    $ace = new-object System.DirectoryServices.ActiveDirectoryAccessRule $identity,$adRights,$type,$objectGuid,$inheritanceType,$inheritedobjectguid
    $acl.AddAccessRule($ace)
    Set-acl -aclobject $acl "ad:OU=xxx,DC=com"
    The figure below shows the result of running the script above:
    Figure 2.
    In addition, if you want to assign other permissions, you can change the GUID values in the script above. The common GUID values are listed as below:
    $guidChangePassword     
    = new-object Guid ab721a53-1e2f-11d0-9819-00aa0040529b
    $guidLockoutTime        
    = new-object Guid 28630ebf-41d5-11d1-a9c1-0000f80367c1
    $guidPwdLastSet         
    = new-object Guid bf967a0a-0de6-11d0-a285-00aa003049e2
    $guidComputerObject     
    = new-object Guid bf967a86-0de6-11d0-a285-00aa003049e2
    $guidUserObject         
    = new-object Guid bf967aba-0de6-11d0-a285-00aa003049e2
    $guidLinkGroupPolicy    
    = new-object Guid f30e3bbe-9ff0-11d1-b603-0000f80367c1
    $guidGroupPolicyOptions 
    = new-object Guid f30e3bbf-9ff0-11d1-b603-0000f80367c1
    $guidResetPassword      
    = new-object Guid 00299570-246d-11d0-a768-00aa006e0529
    $guidGroupObject        
    = new-object Guid BF967A9C-0DE6-11D0-A285-00AA003049E2                                          
    $guidContactObject      
    = new-object Guid 5CB41ED0-0E4C-11D0-A286-00AA003049E2
    $guidOUObject           
    = new-object Guid BF967AA5-0DE6-11D0-A285-00AA003049E2
    $guidPrinterObject      
    = new-object Guid BF967AA8-0DE6-11D0-A285-00AA003049E2
    $guidWriteMembers   
        = new-object Guid bf9679c0-0de6-11d0-a285-00aa003049e2
    $guidNull               
    = new-object Guid 00000000-0000-0000-0000-000000000000
    $guidPublicInformation  
    = new-object Guid e48d0154-bcf8-11d1-8702-00c04fb96050
    $guidGeneralInformation 
    = new-object Guid 59ba2f42-79a2-11d0-9020-00c04fc2d3cf
    $guidPersonalInformation = new-object Guid 77B5B886-944A-11d1-AEBD-0000F80367C1
    $guidGroupMembership    
    = new-object Guid bc0ac240-79a9-11d0-9020-00c04fc2d4cf
    More information:
    Add Object Specific ACEs using Active Directory Powershell
    http://blogs.msdn.com/b/adpowershell/archive/2009/10/13/add-object-specific-aces-using-active-directory-powershell.aspx
    Please click to vote if the post helps you. This can be beneficial to other community members reading the thread.

    The ActiveDirectoryAccessRule has more than one constructor, but yes, you've interpreted the one that takes six arguments correctly.
    Those GUIDs are different (check just before the first dash). Creating that ACE will create an empty GUID for InheritedObjectType, though, because you're telling it to apply to the Object only ([System.DirectoryServices.ActiveDirectorySecurityInheritance]::None).
    Since the ACE will only apply to the object, there's no need to worry about what types of objects will inherit it.
    If you've got time, check out
    this module. It will let you view the security descriptors in a much friendlier format. Try both version 3.0 and the version 4.0 preview:
    Sample version 3.0:
    # This is going to be kind of slow, and it will take a few seconds the first time
    # you run it because it has to build the list of GUID <--> Property/Class/etc objects
    Get-ADGroup GroupY |
    Get-AccessControlEntry -ObjectAceType member -InheritedObjectAceType group -ActiveDirectoryRights WriteProperty
    # Same as the previous command, except limit it to access granted to GroupX
    Get-ADGroup GroupY |
    Get-AccessControlEntry -ObjectAceType member -InheritedObjectAceType group -ActiveDirectoryRights WriteProperty -Principal GroupX
    Here's version 4.0. It's way faster than 3.0, but it's missing the -ObjectAceType and -InheritedObjectAceType parameters on Get-AccessControlEntry (don't worry, when they come back they'll be better than in 3.0):
    Get-ADGroup GroupY |
    Get-AccessControlEntry
    Get-ADGroup GroupY |
    Get-AccessControlEntry -ActiveDirectoryRights WriteProperty
    Get-ADGroup GroupY |
    Get-AccessControlEntry -ActiveDirectoryRights WriteProperty -Principal GroupX
    # You can do a Where-Object filter until the parameters are added back to Get-AccessControlEntry:
    Get-ADGroup GroupY |
    Get-AccessControlEntry -ActiveDirectoryRights WriteProperty |
    where { $_.AccessMask -match "All Prop|member Prop" }
    Get-ADGroup GroupY |
    Get-AccessControlEntry -ActiveDirectoryRights WriteProperty |
    where { $_.ObjectAceType -in ($null, [guid]::Empty, "bf9679c0-0de6-11d0-a285-00aa003049e2") }
    Get-ADGroup GroupY |
    Get-AccessControlEntry -ActiveDirectoryRights WriteProperty |
    where { $_.AccessMask -match "All Prop|member Prop" -and $_.AppliesTo -match "group"}
    That's just for viewing. Version 3.0 can add and remove access, or you can use New-AccessControlEntry to replace your call to New-Object, and you can still use Get-Acl and Set-Acl. The benefit to New-AccessControlEntry is that you can do something like this:
    New-AccessControlEntry -Principal GroupX -ActiveDirectoryRights WriteProperty -ObjectAceType member -InheritedObjectAceType group #-AppliesTo Object
     

  • TS3972 How can I access the files(movies,music,etc) in my Apple Time Capsule(4th Gen) from my Apple TV(3rd Gen). This is very frustrating Apple has not provided a basic feature, and me buying the Time Capsule and Apple TV is an complete waste of bucks.

    I have an Apple TV (3rd Gen) and Apple Time Capsule (4th Gen). How can I access Movies and Music stored in the Time Capsule from Apple TV. This is very  n't give frustrating that Apple doesn't give their customers with an straight forward access to their customers in between their own products. Iam repenting that buying these products is completely waste of bucks. Appreciate your help...

    Welcome to Apple Support Communities
    The Time Capsule is clearly announced as a router with a hard drive to make backups, not to store anything and share it with your Apple TV.
    To access to movies and music from the Time Capsule, note that the Apple TV can only access to them if they are stored in your iTunes library, so you will have to put your movies and music into iTunes to access to them, and then, put your iTunes library on the Time Capsule in order to access to your data from there

  • Dynamic radio buttons in for loop

    Hello,
    what i am trying to do is create several radio buttons in a while loop, then assign an action listener and also some text to them. After doing this i want to add the radio button to a panel, so far i have the following code:
    JPanel content = new JPanel();
    for(int i=0;i<a.size();i++){
        JRadioButton radio = new JRadioButton("Radio" + i);            
        // code to add an action listener to go here
        content.add(radio)
    }Many thanks in advance for some help.

    Encephalopathic wrote:
    psamatt wrote:
    Thanks DrClap, this is the sort of post that i was awaiting on :)and you'd have gotten that a lot sooner if you had asked a clear question in the first place. Much luck.Sometimes I think this forum is providing a basic service: teaching people how to ask questions. If they finally learn, the scales fall from their eyes and they cry with joy, "now I see, I can't merely say 'i'm doing this thing like and it's not you-know. What should I do or whatever?' I actually have to be clear and not assume the person I'm talking to is a mind reader! What wasn't I taught this at University?

  • What Are the Exact Basic rules for Replying a Thread...... -:)   @};-

    Hi Experts,
    After Looking into the forums many days I had a small conclusion about forums,
    SAP Forums are better place I have seen for getting a goo dhelp & Knowledge...
    Why can't we make it a BEST Place.
    This is just a small doubt which I would like to clear myself first,
    I have seen many users In the forums asking for a Basic Questions
    When cleared, But still they want to have a Spoon feeding with a Sample Code.
    When Sample Code Given they will provide the original code and requests for Modifications.
    These always looks to me as crazy.
    I have seen somelong time agin by moderators posting that In SCN there will be no SPOON FEEDING.
    I am not sure whether if still this Rule AVAILABLE or NOT.
    Ok if the task is really difficult let them ask again and again,
    And it was not replied, let them repost, I agree with them.
    And How about a User Registered in SDN very long back and asking for a silly question in below thread,
    [Sendin Email to the recipent list -Need correct FM |Getting the address from shipto partner of Bil. item not directly from C.ma]
    This is one more example, really funny, The thread poster needs the solution at any cost, he doesn't require and Suggetions,,, {He Only needs Solution}
    [Radio Buttons |Radio Buttons;
    [Turning Off Debugger |Turning Off Debugger;
    [Regarding Amount in words|Regarding Amount in words;
    There are 100's of threads like this....Everyone knows this facts.
    Check this who answered this one and who replied correct answer, who copied, finally who was rewarded...!
    [how to validate POsting period |Re: how to validate POsting period]
    Now My Real Problem is....!
    User is always intelligent, Only the weakness is in Contributor, trying to help them,..,
    And I openly say that Someone requesting for basic help is not DUMB, But the Contributor replying forgets
    the basic rules " Why Contributing ?"
    According to me It's not the Requestor to see Rules & Requlations before posting the threads,
    But its responsibilty for the Contributing person to see th Rules & Requlations before replying the threads,
    If we follow the rules and stand on a single word or rule or anything there will be Good Result.
    Major Problem is in US not anyone else.
    Example Some one saying search in the forum,,, then please no replies after that...
    But we are very pity hearted again we post the solution,,,
    But it is not at all enough(for cintribtor's)... they will copy the solution and post again by slight Modifications,
    And Some users are having 500,600,700,800 Posts with 0 points, registered long long back.
    They are completly dependent on forums,,, As they goto office and as they eat, The same they open forums and ask Queries...
    They will never realize what they are doing,, and we will never let them improve better...
    Finally Lets Discuss About this and Correct & Suggest me if I am wrong,
    Is my thoughts are going in the right way or not I am not even sure... Please Aslo Correct me if I did any mistakes.
    Thanks & regards,
    Dileep .C
    Edited by: Dileep Kumar Chinnaiah on Apr 29, 2009 12:33 PM
    Title Changed Form
    "What to do when someone asking for Basic Questions" to "What Are the Exact Basic rules for Replying a Threads...... "

    Hi Stephen,
    Very useful Information,
    First tell me a little something about my self...
    After completion of my certification(as a fresher) I was down the streets hunting the job,
    with the insufficient knowledge and being a non-experienced person, I never got one.
    And mean while when I got my "S-UserID", I used to be proud, To say frankly, I registerd in SDN & SAP all at a time, without even knowing what I can do there..,
    When I got a job afterwords I was doing the job and never seen SDN page for many months,
    when I came to know that of we have doubts we can post at SDN. then started requesting help,
    I posted only a little, I didnot got the proper response. on that day I decided,
    still there are some places where we cannot get help on time and there will be people waiting to get help,
    Why cant I put some of my efforts to help others.
    Then I searched some topic by Topic in SDN topic by Topic I used to read threads just for knowledge.
    when I feel my self comfort for contributing, I started contibuting...!
    If you haven't read it, take a look first, so you can understand where things are now.
    I dont know where things are now. But these in this thread I mentioned clearly what I seen from the day I started contributing.
    I searched with the terms of 'Rules for replying', The results are not as I expected, and this link has subject as
    "O SDN, where art thou?" So it dosent hit my in the list.
    Like everybody until a certain stage I am also rushing for points.
    But I most cases I never tried to copy paste answers. If I done some then that is just to point it myself some day,
    I have no hopes or no intrest on the points...! This was discussed with Rob & Matt, at my inital contribution where my points are 36.
    From that day till date I have changed a lot to myself.
    Everyone cannot change like me because they are not like me & And I dont even expect that...!
    I will be online almost 6-8Hrs a day, Not even getting intrest to see the forums just because of the co-contributors.
    My only point is I am just requesting to a co-contributor,
    Clearly In a example : Lets say contributor has replied to a thread, and if you know that is a correct solution,
    please dont reply any more, If you have a better solution than that, then only reply,
    Even there is one reply in the thread not a matter, if correct answer leave that query.
    If still error persists, Show up with your Idea's...
    Dont let down the contributor, by copying his reply and editing and pasting(edit only if incorrect).
    I am just looking for this one exactly to circulate between ourselfs.
    For this we a little support from moderators to circulate(may be as a rule or may be as a mail to them)
    You may say again how many mails we have to send, It dosent matter, one mail to one person one time,
    and +ve factors will show up definetly.
    A real contributor always understand what I am talking about, but some one who hunts for points will never.
    I am really sorry if I am troubling with my doubts & requests,
    If so, Pleae forgive me,,
    Thanks & regards,
    Dileep .C

  • How to install visual basic 6.0 to windows 8.1

    plz help I want setup vb6.0 into win8.1
    I lovw it vb6.0 and also win8.1

    Hello,
    VB 6 is no longer supported by Microsoft. I’d suggest asking in one of the following third-party forums which support Visual Basic 6.
    VB forums
    VB City
    For further information, see:
    Where to post your VB 6 questions
    Karl
    When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As Answer.
    My Blog: Unlock PowerShell
    My Book:
    Windows PowerShell 2.0 Bible
    My E-mail: -join ('6F6C646B61726C406F75746C6F6F6B2E636F6D'-split'(?<=\G.{2})'|%{if($_){[char][int]"0x$_"}})

  • Windows 7 64 Bit, Oracle ... Error3706 Provider Cannot be found . Help Please

    -Windows 7  64 Bit
    -ORACLE PROVIDER FOR OLE DB (OraOLEDB) 11.2.0.1.0 x64
    -VB6
    Keep Getting Error:3706 Provider not found. May not be installed correctly
    which file should be registered ?
    if anyone can help ...i would be grateful

    Please post VB 6.0 questions to the below forums. This forum is for Visual Basic .NET
    http://vbcity.com/forums/default.aspx?GroupID=11
    http://www.vbforums.com/forumdisplay.php?1-Visual-Basic-6-and-Earlier
    FYI, VB 6.0 is limited to 32-bit so you would need to have the 32-bit Oracle OLEDB Provider installed.
    Paul ~~~~ Microsoft MVP (Visual Basic)

  • Welcome to the Oracle JRockit Real Time forum

    The JRockit forum over at forums.bea.com is since the first of July in read only mode - this is now the official forum for the JRockit Real Time product.
    Best regards,
    Stefan

    Bonjour "Etudiant from Tunisia",
    I'm not sure what you mean with "please give me the user/password".
    As far as I know there is no online OWB available where you could try out the product (if that is what you mean).
    If you would like to learn more about OWB, read online documentation or for instance the link that is provided in an earlier post in this thread.
    Otherwise simply install OWB and try it yourself. The Installation and Configuration Guide is clear enough even without much experience installing Oracle software, and the OWB User Guide provides some basic insight on working with OWB itself.
    Good luck, Patrick
    ps If people are still expecting what Igor mentioned when he started this forum ("Oracle Warehouse Builder (OWB) product management and development will monitor the discussion forum on regular basis"), don't count on it; fortunately the product itself has been around long enough now, there are quite some users that can share usable insights and/or drop some useful lines on the new threads... ;-)

  • Poor 3G performance from Hutchinson 3 Service Provide at HK

    any Hong Kong 3G iphone users experiencing poor 3G performance on Hutchinson 3 network? test my 3G iphone against original EDGE iphone at same spot on office floor, browsing to www.yahoo.com and the performance was marginally quicker than EDGE. after calling our service provide, being told that we were capped on network bandwidth of 7.2mbps but the real speed testing was around 0.3mbps.... this is unacceptable performance.
    Apple - please speak to vendor, this is making your product look BAD.

    Hi Welcome to the community forums
    Here is a basic guide to getting help from the community members done by CL Keith Please read through the link posted http://forumhelp.dyndns.info/speed/first_steps.html
    once you have posted the information asked for then the community members can help you more
    Thank You
    This is a customer to customer self help forum the only BT presence here are the forum moderators
    If you want to say thanks for a helpful answer,please click on the Ratings star on the left-hand side If the reply answers your question then please mark as ’Mark as Accepted Solution’

  • Microsoft powershell management agent

    Recently microsoft released PS management agent. Actually i saw some of the MSDN article about it but i find them less informative.
    1- Can any provide me more details on how to use PS management agents ? I have installed it but not able to use it.
    Details about various sections like schema import export etc
    2-A guide with step by step instructions for a scenario which I can implement in lab and learn more about PS MA and use it configure other PS compatible systems.
    AdiKumar

    Hi,
    I faced the same problem, the documentation and sample are very rarly.
    I compared the connector with the PowerShell MA from Soren and find him's easier to understand, in addition there are also some sample scripts and a lot of people use that MA as you can see on some questions here in the forum.
    Sorens PowerShell MA
    He did also a great introduction to his MA on the FIM Team User Group some time ago.
    See:
    https://unifysolutions.jira.com/wiki/display/FIMTEAMCOM/2013-07-17+-+A+quick+introduction+to+the+PowerShell+MA
    /Peter
    Peter Stapf - ExpertCircle GmbH - My blog:
    JustIDM.wordpress.com

  • Visual Basic 6 application moved to new server - activex component can't create object

    I have to move a VB6 application that was running on a Windows 2003 machine to a new Windows 2008 machine.
    This EXE application was using classes defined in a DLL using the Createobject method.
    Now, after the class instance has been created by Createobject, when the program calls the methods error 429 "activex component can't create object" is issued.
    The DLL has been registered on the new server using the command :
    regsvr32 c:\folderx\dllname.dll
    Which is the right forum to get help on this ?
    Thanks.

    Hello,
    As Dave says, VB 6 is no longer supported by Microsoft.
    I’d suggest asking in one of the following third-party forums which support Visual Basic 6.
    VB forums
    VB City
    For further information, see:
    Where to post your VB 6 questions
    Karl
    When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As Answer.
    My Blog: Unlock PowerShell
    My Book:
    Windows PowerShell 2.0 Bible
    My E-mail: -join ('6F6C646B61726C406F75746C6F6F6B2E636F6D'-split'(?<=\G.{2})'|%{if($_){[char][int]"0x$_"}})

  • Powershell: how to run vbs script with switches.

    Background: To remove a specific service, I usually log into a server, go to path c$\Program files\HP... find a specific vbs, and run it using CMD.exe.
    Now, I'm new to powershell, so I'm looking into automating this job. When I use CMD, I run cscript path\serviceinstall.vbs
    -r.
    How do I add cscript switches to powershell?
    IF
    ((test-path -path "servername\C$\Program Files\...") -eq "true")
    invoke-command -scriptblock ""servername\C$\Program Files\...\serviceinstall.vbs -r?

    1. You cannot run VBS as a scriptblock.
    2.  If youactually were to have read the full help ypu would have seen how to use the command.
    3.  Given you initial questin and the vague answers you gave there is nothing any could do to help you.
    If you do not give accurate information you will not likely get answers that are helpful.
    I recommend starting at the beginning and learning PowerShell basics.  If you had done that you would know that a script block is not a quoted string with vbscript in it or the path to a file.
    When working with any technology it is important to read the instructions carefully.  It is also useful to knowhow to do basic research on the technology you are trying to learn.
    There are 15 examples in PowerShell V2 for Invoke-Command.  Here they are as captured directly from PowerShell V2. (The is no update-help on V2. All help is built in.)
    -------------------------- EXAMPLE 1 --------------------------
    C:\PS>invoke-command -filepath c:\scripts\test.ps1 -computerName Server01
    Disks: C:, D:, E:
    Status: Warning, Normal, Normal
    Description
    This command runs the Test.ps1 script on the Server01 computer.
    The command uses the FilePath parameter to specify a script that is located on the local computer. The script runs
    on the remote computer and the results are returned to the local computer.
    -------------------------- EXAMPLE 2 --------------------------
    C:\PS>invoke-command -computername server01 -credential domain01\user01 -scriptblock {get-culture}
    Description
    This command runs a Get-Culture command on the Server01 remote computer.
    It uses the ComputerName parameter to specify the computer name and the Credential parameter to run the command in
    the security context of "Domain01\User01," a user with permission to run commands. It uses the ScriptBlock paramete
    r to specify the command to be run on the remote computer.
    In response, Windows PowerShell displays a dialog box that requests the password and an authentication method for t
    he User01 account. It then runs the command on the Server01 computer and returns the result.
    -------------------------- EXAMPLE 3 --------------------------
    C:\PS>$s = new-pssession -computername server02 -credential domain01\user01
    C:\PS> invoke-command -session $s -scriptblock {get-culture}
    Description
    This example runs the same "Get-Culture" command in a session (a persistent connection) on the Server02 remote comp
    uter. Typically, you create a session only when you are running a series of commands on the remote computer.
    The first command uses the New-PSSession cmdlet to create a session on the Server02 remote computer. Then, it saves
    the session in the $s variable.
    The second command uses the Invoke-Command cmdlet to run the Get-Culture command on Server02. It uses the Session p
    arameter to specify the session saved in the $s variable.
    In response, Windows PowerShell runs the command in the session on the Server02 computer.
    -------------------------- EXAMPLE 4 --------------------------
    C:\PS>invoke-command -computername Server02 -scriptblock {$p = get-process powershell}
    C:\PS> invoke-command -computername Server02 -scriptblock {$p.virtualmemorysize}
    C:\PS>
    C:\PS> $s = new-pssession -computername Server02
    C:\PS> invoke-command -session $s -scriptblock {$p = get-process powershell}
    C:\PS> invoke-command -session $s -scriptblock {$p.virtualmemorysize}
    17930240
    Description
    This example compares the effects of using ComputerName and Session parameters of Invoke-Command. It shows how to u
    se a session to run a series of commands that share the same data.
    The first two commands use the ComputerName parameter of Invoke-Command to run commands on the Server02 remote comp
    uter. The first command uses the Get-Process command to get the PowerShell process on the remote computer and to sa
    ve it in the $p variable. The second command gets the value of the VirtualMemorySize property of the PowerShell pro
    cess.
    The first command succeeds. But, the second command fails because when you use the ComputerName parameter, Windows
    PowerShell creates a connection just to run the command. Then, it closes the connection when the command is complet
    e. The $p variable was created in one connection, but it does not exist in the connection created for the second co
    mmand.
    The problem is solved by creating a session (a persistent connection) on the remote computer and by running both of
    the related commands in the same session.
    The third command uses the New-PSSession cmdlet to create a session on the Server02 computer. Then it saves the ses
    sion in the $s variable. The fourth and fifth commands repeat the series of commands used in the first set, but in
    this case, the Invoke-Command command uses the Session parameter to run both of the commands in the same session.
    In this case, because both commands run in the same session, the commands succeed, and the $p value remains active
    in the $s session for later use.
    -------------------------- EXAMPLE 5 --------------------------
    C:\PS>$command = { get-eventlog -log "windows powershell" | where {$_.message -like "*certificate*"} }
    C:\PS> invoke-command -computername S1, S2 -scriptblock $command
    Description
    This example shows how to enter a command that is saved in a local variable.
    When the entire command is saved in a local variable, you can specify the variable as the value of the ScriptBlock
    parameter. You do not have to use the "param" keyword or the ArgumentList variable to submit the value of the local
    variable.
    The first command saves a Get-Eventlog command in the $command variable. The command is formatted as a script block
    The second command uses the Invoke-Command cmdlet to run the command in $command on the S1 and S2 remote computers.
    -------------------------- EXAMPLE 6 --------------------------
    C:\PS>invoke-command -computername server01, server02, TST-0143, localhost -configurationname MySession.PowerShell
    -scriptblock {get-eventlog "windows powershell"}
    Description
    This example demonstrates how to use the Invoke-Command cmdlet to run a single command on multiple computers.
    The command uses the ComputerName parameter to specify the computers. The computer names are presented in a comma-s
    eparated list. The list of computers includes the "localhost" value, which represents the local computer.
    The command uses the ConfigurationName parameter to specify an alternate session configuration for Windows PowerShe
    ll and the ScriptBlock parameter to specify the command.
    In this example, the command in the script block gets the events in the Windows PowerShell event log on each remote
    computer.
    -------------------------- EXAMPLE 7 --------------------------
    C:\PS>$version = invoke-command -computername (get-content machines.txt) -scriptblock {(get-host).version}
    Description
    This command gets the version of the Windows PowerShell host running on 200 remote computers.
    Because only one command is run, it is not necessary to create persistent connections (sessions) to each of the com
    puters. Instead, the command uses the ComputerName parameter to indicate the computers.
    The command uses the Invoke-Command cmdlet to run a Get-Host command. It uses dot notation to get the Version prope
    rty of the Windows PowerShell host.
    To specify the computers, it uses the Get-Content cmdlet to get the contents of the Machine.txt file, a file of com
    puter names.
    These commands run synchronously (one at a time). When the commands complete, the output of the commands from all o
    f the computers is saved in the $version variable. The output includes the name of the computer from which the data
    originated.
    -------------------------- EXAMPLE 8 --------------------------
    C:\PS>$s = new-pssession -computername Server01, Server02
    C:\PS> invoke-command -session $s -scriptblock {get-eventlog system} -AsJob
    Id Name State HasMoreData Location Command
    1 Job1 Running True Server01,Server02 get-eventlog system
    C:\PS> $j = Get-Job
    C:\PS> $j | format-list -property *
    HasMoreData : True
    StatusMessage :
    Location : Server01,Server02
    Command : get-eventlog system
    JobStateInfo : Running
    Finished : System.Threading.ManualResetEvent
    InstanceId : e124bb59-8cb2-498b-a0d2-2e07d4e030ca
    Id : 1
    Name : Job1
    ChildJobs : {Job2, Job3}
    Output : {}
    Error : {}
    Progress : {}
    Verbose : {}
    Debug : {}
    Warning : {}
    StateChanged :
    C:\PS> $results = $j | Receive-Job
    Description
    These commands run a background job on two remote computers. Because the Invoke-Command command uses the AsJob para
    meter, the commands run on the remote computers, but the job actually resides on the local computer and the results
    are transmitted to the local computer.
    The first command uses the New-PSSession cmdlet to create sessions on the Server01 and Server02 remote computers.
    The second command uses the Invoke-Command cmdlet to run a background job in each of the sessions. The command uses
    the AsJob parameter to run the command as a background job. This command returns a job object that contains two ch
    ild job objects, one for each of the jobs run on the two remote computers.
    The third command uses a Get-Job command to save the job object in the $j variable.
    The fourth command uses a pipeline operator (|) to send the value of the $j variable to the Format-List cmdlet, whi
    ch displays all properties of the job object in a list.
    The fifth command gets the results of the jobs. It pipes the job object in $j to the Receive-Job cmdlet and stores
    the results in the $results variable.
    -------------------------- EXAMPLE 9 --------------------------
    C:\PS>$MWFO-LOg = Microsoft-Windows-Forwarding/Operational
    C:\PS> invoke-command -computername server01 -scriptblock {param($log, $num) get-eventlog -logname $log -newest $nu
    m} -ArgumentList $MWFO-log, 10
    Description
    This example shows how to include the values of local variables in a command run on a remote computer.
    The first command saves the name of the Microsoft-Windows-Forwarding/Operational event log in the $MWFO-Log variabl
    e.
    The second command uses the Invoke-Command cmdlet to run a Get-EventLog command on the Server01 remote computer tha
    t gets the 10 newest events from the Microsoft-Windows-Forwarding/Operational event log on Server01.
    This command uses the "param" keyword to create two variables, $log and $num, that are used as placeholders in the
    Get-EventLog command. These placeholders have arbitrary names that do not need to match the names of the local vari
    ables that supply their values.
    The values of the ArgumentList parameter demonstrate the two different ways to specify values in the argument list.
    The value of the $log placeholder is the $MFWO-Log variable, which is defined in the first command. The value of t
    he $num variable is 10.
    Before the command is sent to the remote computer, the variables are replaced with the specified values.
    -------------------------- EXAMPLE 10 --------------------------
    C:\PS>invoke-command -computername S1, S2 -scriptblock {get-process powershell}
    PSComputerName Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
    S1 575 15 45100 40988 200 4.68 1392 powershell
    S2 777 14 35100 30988 150 3.68 67 powershell
    C:\PS> invoke-command -computername S1, S2 -scriptblock {get-process powershell} -HideComputerName
    Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
    575 15 45100 40988 200 4.68 1392 powershell
    777 14 35100 30988 150 3.68 67 powershell
    Description
    This example shows the effect of using the HideComputerName parameter of Invoke-Command.
    The first two commands use the Invoke-Command cmdlet to run a Get-Process command for the PowerShell process. The o
    utput of the first command includes the PsComputerName property, which contains the name of the computer on which t
    he command ran. The output of the second command, which uses the HideComputerName parameter, does not include the P
    sComputerName column.
    Using the HideComputerName parameter does not change the object. You can still use the Format cmdlets to display th
    e PsComputerName property of any of the affected objects.
    -------------------------- EXAMPLE 11 --------------------------
    C:\PS>invoke-command -comp (get-content servers.txt) -filepath c:\scripts\sample.ps1 -argumentlist Process, Service
    Description
    This example uses the Invoke-Command cmdlet to run the Sample.ps1 script on all of the computers listed in the Serv
    ers.txt file. The command uses the FilePath parameter to specify the script file. This command allows you to run th
    e script on the remote computers, even if the script file is not accessible to the remote computers.
    When you submit the command, the content of the Sample.ps1 file is copied into a script block and the script block
    is run on each of the remote computers. This procedure is equivalent to using the ScriptBlock parameter to submit t
    he contents of the script.
    -------------------------- EXAMPLE 12 --------------------------
    C:\PS>$LiveCred = Get-Credential
    C:\PS> Invoke-Command -ConfigurationName Microsoft.Exchange `
    -ConnectionUri https://ps.exchangelabs.com/powershell `
    -Credential $LiveCred -Authentication Basic `
    -scriptblock {Invoke-Command {Set-Mailbox dan -DisplayName "Dan Park"}
    Description
    This example shows how to run a command on a remote computer that is identified by a URI (Internet address). This p
    articular example runs a Set-Mailbox command on a remote Exchange server. The backtick (`) in the command is the Wi
    ndows PowerShell continuation character.
    The first command uses the Get-Credential cmdlet to store Windows Live ID credentials in the $LiveCred variab the c
    redentials dialog box appears, enter Windows Live ID credentials.
    The second command uses the Invoke-Command cmdlet to run a Set-Mailbox command. The command uses the ConfigurationN
    ame parameter to specify that the command should run in a session that uses the Microsoft.Exchange session configur
    ation. The ConnectionURI parameter specifies the URL of the Exchange server endpoint.
    The credential parameter specifies tle. Whenhe Windows Live credentials stored in the $LiveCred variable. The Authe
    nticationMechanism parameter specifies the use of basic authentication. The ScriptBlock parameter specifies a scrip
    t block that contains the command.
    -------------------------- EXAMPLE 13 --------------------------
    C:\PS>$max = New-PSSessionOption -MaximumRedirection 1
    C:\PS> Invoke-Command -ConnectionUri https://ps.exchangelabs.com/powershell `
    -scriptblock {Invoke-Command {Get-Mailbox dan} `
    -AllowRedirection -SessionOption $max
    Description
    This command shows how to use the AllowRedirection and SessionOption parameters to manage URI redirection in a remo
    te command.
    The first command uses the New-PSSessionOption cmdlet to create a PSSessionOpption object that it saves in the $max
    variable. The command uses the MaximumRedirection parameter to set the MaximumConnectionRedirectionCount property
    of the PSSessionOption object to 1.
    The second command uses the Invoke-Command cmdlet to run a Get-Mailbox command on a remote server running Microsoft
    Exchange Server. The command uses the AllowRedirection parameter to provide explicit permission to redirect the co
    nnection to an alternate endpoint. It also uses the SessionOption parameter to specify the session object in the $m
    ax variable.
    As a result, if the remote computer specified by the ConnectionURI parameter returns a redirection message, Windows
    PowerShell will redirect the connection, but if the new destination returns another redirection message, the redir
    ection count value of 1 is exceeded, and Invoke-Command returns a non-terminating error.
    -------------------------- EXAMPLE 14 --------------------------
    C:\PS>$so = New-PSSessionOption -SkipCACheck
    PS C:\> invoke-command $s { get-hotfix } -SessionOption $so -credential server01\user01
    Description
    This example shows how to create and use a SessionOption parameter.
    The first command uses the New-PSSessionOption cmdlet to create a session option. It saves the resulting SessionOpt
    ion object in the $so parameter.
    The second command uses the Invoke-Command cmdlet to run a Get-Hotfix command remotely. The value of the SessionOpt
    ion parameter is the SessionOption object in the $so variable.
    -------------------------- EXAMPLE 15 --------------------------
    C:\PS>enable-wsmanCredSSP -delegate server02
    C:\PS> connect-wsman Server02
    C:\PS> set-item wsman:\server02*\service\auth\credSSP -value $true
    C:\PS> $s = new-pssession server02
    C:\PS> invoke-command -session $s -script {get-item \\Net03\Scripts\LogFiles.ps1} -authentication credssp -credenti
    al domain01\admin01
    Description
    This example shows how to access a network share from within a remote session.
    The command requires that CredSSP delegation be enabled in the client settings on the local computer and in the ser
    vice settings on the remote computer. To run the commands in this example, you must be a member of the Administrato
    rs group on the local computer and the remote computer.
    The first command uses the Enable-WSManCredSSP cmdlet to enable CredSSP delegation from the Server01 local computer
    to the Server02 remote computer. This configures the CredSSP client setting on the local computer.
    The second command uses the Connect-WSman cmdlet to connect to the Server02 computer. This action adds a node for t
    he Server02 computer to the WSMan: drive on the local computer, allowing you to view and change the WS-Management s
    ettings on the Server02 computer.
    The third command uses the Set-Item cmdlet to change the value of the CredSSP item in the Service node of the Serve
    r02 computer to True. This action enables CredSSP in the service settings on the remote computer.
    The fourth command uses the New-PSSession cmdlet to create a PSSession on the Server02 computer. It saves the PSSes
    sion in the $s variable.
    The fifth command uses the Invoke-Command cmdlet to run a Get-Item command in the session in $s that gets a script
    from the Net03\Scripts network share. The command uses the Credential parameter and it uses the Authentication para
    meter with a value of CredSSP.
    I suggest spending som etime learning the basics.  It will save you a lot of frustration in the future.
    ¯\_(ツ)_/¯

  • Welcome to the Oracle Warehouse Builder discussion forum

    Hello!
    Welcome to the Oracle Warehouse Builder discussion forum!
    Oracle Warehouse Builder (OWB) product management and development will monitor the discussion forum on regular basis.
    Please use this forum for asking product related questions, giving feedback, suggesting enhancements, reporting problems and requesting collateral.

    Bonjour "Etudiant from Tunisia",
    I'm not sure what you mean with "please give me the user/password".
    As far as I know there is no online OWB available where you could try out the product (if that is what you mean).
    If you would like to learn more about OWB, read online documentation or for instance the link that is provided in an earlier post in this thread.
    Otherwise simply install OWB and try it yourself. The Installation and Configuration Guide is clear enough even without much experience installing Oracle software, and the OWB User Guide provides some basic insight on working with OWB itself.
    Good luck, Patrick
    ps If people are still expecting what Igor mentioned when he started this forum ("Oracle Warehouse Builder (OWB) product management and development will monitor the discussion forum on regular basis"), don't count on it; fortunately the product itself has been around long enough now, there are quite some users that can share usable insights and/or drop some useful lines on the new threads... ;-)

  • Forum modules

    Hi
    Im going through the forum modules and plan to integrate a forum into my website, http://www.petshop-online.com.au/ .
    However, im looking for some inspiration and would like to see what is possible using BC's forum feature. Is there anyone who has used this feature and doesn't mind providing me a link to their website/clients website so i can see what it is capable of?
    Thanks in advance
    Jason

    Hey Jason,
    The forum feature is quite basic. The best way to see it is, if no one responds with a working forum, is to trigger a new full feature site and have a look at it.
    BTW, this site has several forums on it http://drwheatgrass.com/info/forums/default.htm
    Cheers,
    -mario

Maybe you are looking for

  • Logical system Infopackage in process chain

    Dear All, I want to schedule a logical system delta infopackage in process chain I have input this package in chain but while activating it gives error "InfoPackage ZPAK_44MTIRL52E5IJXMQVL1BXFCWI is generated; NOT able to be used as loading variant"

  • My iTunes, wont play my music..

    Hi, my iTunes wont play music.. And my computer is BRAND new.. i got it today. I tried to fix my aduio because there wasent any bass.. and i got i fixed, and when i tried to play one of the songs from my iTunes, i didnt work. I have uninstalled iTune

  • How to use a custom KeyManager for Oracles JCBD thin driver

    I am trying to create a java application that uses PKI for authentication. I need to be able to retrieve a certificate from the Microsoft Certificate Store MCS) and pass it along to an Oracle database (11.2). I am connecting using the jdbc:oracle:thi

  • Yellow hue appeared on my screen...

    Yesterday I turned on my Mac and the screen started first to flicker with colored pixels and lines and static and then turned completely yellow. It does this same thing every time I turn it on now. I've tried unplugging the power cord before restarti

  • Best way to retreive an attributeValue from the bindings in a backing bean?

    What is the best way to retreive a value from an interator in your data bindings inside a backing bean? I can come up with a way were i resolve the value of an expression like #{bindings.myAttribute.value} Is this the best way or is there an easier?