Re: [PHP] PHP and Powershell

[email protected] (Serge Fonville)
Newsgroups php.general
Message-ID <CAOAS_++DwGV-rc_Tvfri8RmrMk7z6vn5wzjDTAF-OC=RB_A2NA@mail.gmail.com>
Thank you for your clarification.

Have you considered placing the whole powershell -command parameter in a
.ps1 script and executing that instead?

The benefit would be that it is easier to read and test accordingly.

HTH

Kind regards/met vriendelijke groet,

Serge Fonville

http://www.sergefonville.nl

Convince Microsoft!
They need to add TRUNCATE PARTITION in SQL Server
https://connect.microsoft.com/SQLServer/feedback/details/417926/truncate-partition-of-partitioned-table


2013/7/19 Alan Loos <[email protected]>

>  According to Technet it is not required (
> http://technet.microsoft.com/en-us/library/hh849719.aspx) as the default
> would be ‘localhost’ which is the same as 127.0.0.1.****
>
> ** **
>
> So you are correct it is not required. However when I take away
> ‘-computername 127.0.0.1’ I get a return of:****
>
> Array****
>
> (****
>
>     [0] => Invoke-Command : Parameter set cannot be resolved using the
> specified named****
>
>     [1] => parameters.****
>
>     [2] => At line:1 char:172****
>
>     [3] => + $cred = New-Object System.Management.Automation.PSCredential
> -ArgumentList****
>
>     [4] => @('ad ...****
>
>     [5] => +
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ****
>
>     [6] => ~~~****
>
>     [7] =>     + CategoryInfo          : InvalidArgument: (:)
> [Invoke-Command], Parameter****
>
>     [8] =>    BindingException****
>
>     [9] =>     + FullyQualifiedErrorId :
> AmbiguousParameterSet,Microsoft.PowerShell.Comma****
>
>     [10] =>    nds.InvokeCommandCommand****
>
>     [11] => ****
>
> )****
>
> ** **
>
> End Of Scene****
>
> ** **
>
> For whatever reason, the powershell command does not want to execute
> properly without that variable being defined explicitly.****
>
> ** **
>
> (Not sure if that is what you are asking exactly but I think that was
> answering the question, if not let me know and I’ll try to answer the best
> I can)****
>
> ** **
>
> Thanks in advance!****
>
> ** **
>
> *Alan Loos* ****
>
> ** **
>
> CONFIDENTIALITY NOTICE: This e-mail and the attachment(s) hereto (if any)
> contain confidential information that is privileged and intended only for
> the addressee(s) hereof. If you are not an intended recipient, you are
> hereby notified that any disclosure, copying, distribution or use of this
> e-mail and/or the accompanying attachment(s) is strictly prohibited. If you
> have received this e-mail in error, please immediately notify the sender by
> return e-mail.****
>
> ** **
>
> *From:* Serge Fonville [mailto:[email protected]]
> *Sent:* Friday, July 19, 2013 11:13 AM
>
> *To:* Alan Loos
> *Cc:* [email protected]
> *Subject:* Re: [PHP] PHP and Powershell****
>
> ** **
>
> How have you determined that invoke-command requires -computername?
>
> ****
>
> Kind regards/met vriendelijke groet,****
>
> ** **
>
> Serge Fonville****
>
> ** **
>
> http://www.sergefonville.nl
>
> Convince Microsoft!****
>
> They need to add TRUNCATE PARTITION in SQL Server****
>
>
> https://connect.microsoft.com/SQLServer/feedback/details/417926/truncate-partition-of-partitioned-table
> ****
>
> ** **
>
> 2013/7/19 Alan Loos <[email protected]>****
>
> Thank you for your response Serge!****
>
>   The computer name  is for the invoke-command, ComputerName has to be
> specified to tell the computer where the command is to be routed. Since I
> want this to run locally over PHP I figured that it would be a good way to
> avoid running a script as I have read online that when it can be avoided
> it’s a good practice (I also couldn’t get this to work properly… J But
> that is a side note). The piece that outputs the extra RunSpaceID and the
> PSComputerName is the $_.Status portion of everything.****
>
>  ****
>
> If someone knows how to cut it out that would be fine but really I just
> need to pull the Target Name and the Value from result. For the attached
> example it would be $IQNTarget = iqn.2013-04.com.widget:Target1 and $Value
> = NotConnected (Which there are two options for this which is Connected or
> NotConnected).****
>
>  ****
>
> To use Select Object here would I do Select-Object $Value?****
>
>  ****
>
> *Alan Loos*****
>
>  ****
>
> CONFIDENTIALITY NOTICE: This e-mail and the attachment(s) hereto (if any)
> contain confidential information that is privileged and intended only for
> the addressee(s) hereof. If you are not an intended recipient, you are
> hereby notified that any disclosure, copying, distribution or use of this
> e-mail and/or the accompanying attachment(s) is strictly prohibited. If you
> have received this e-mail in error, please immediately notify the sender by
> return e-mail.****
>
>  ****
>
> *From:* Serge Fonville [mailto:[email protected]]
> *Sent:* Friday, July 19, 2013 3:05 AM
> *To:* Alan Loos
> *Cc:* [email protected]
> *Subject:* Re: [PHP] PHP and Powershell****
>
>  ****
>
> Hi,
>
> Although this is more powershell related than PHP...
>
> When Powershell returns an object, you can pipe the output through
> Select-Object to get only certain object properties.
>
> To better answer your question:
> First, why do you specify ComputerName as 127.0.0.1 if the credential is
> already specified?
> Also, perhaps it is easier to create a .ps1 file that you run, especially
> for readability.
>
> HTH
>
> Wh
>
> ****
>
> Kind regards/met vriendelijke groet,****
>
>  ****
>
> Serge Fonville****
>
>  ****
>
> http://www.sergefonville.nl
>
> Convince Microsoft!****
>
> They need to add TRUNCATE PARTITION in SQL Server****
>
>
> https://connect.microsoft.com/SQLServer/feedback/details/417926/truncate-partition-of-partitioned-table
> ****
>
>  ****
>
> 2013/7/18 Alan Loos <[email protected]>****
>
> Good morning everyone,
>   First time posting in here, although I've been listening in for a few
> weeks now.
> So this one has got me stumped, I am fairly new to PHP but I cannot seem
> to Google through this one.
> I cannot figure out how to 'exclude' PSComputerName and RunspaceId, which
> is ultimately what I'm struggling with. Please see below for script snips
> and explanations.
>
> Also if there are any best practices you would recommend I'm open to it
> being that I am fairly new and self-taught to PHP scripting.
>
>
> I have a bit of code I've put together (as ugly as it is) as follows in
> line:
> <?php
>
>
> ###############
> ## Variables ##
> ###############
>
> $TargetName = "Target1";
> $login = "\$cred = New-Object System.Management.Automation.PSCredential
> -ArgumentList @('[email protected]',(ConvertTo-SecureString
> -String 'MyPassword' -AsPlainText -Force))";
> $command = "Invoke-Command -computername 127.0.0.1 -credential \$cred
> -scriptblock {& Get-IscsiServerTarget -TargetName " . $TargetName . " | % {
> \$_.TargetIqn, \$_.Status}} -SessionOption (New-PSSessionOption
> -SkipCACheck -SkipCNCheck -SkipRevocationCheck)";
> $psCMD = "powershell -ExecutionPolicy Unrestricted -command \"$login;
> $command\" <NUL";
>
>
> ########################################
> ## Variable Checking (For Debug Mode) ##
> ########################################
>
> #echo "\$psCMD = $psCMD";
>
>
> ################
> ## Run Script ##
> ################
>
> exec($psCMD,$out);
>
>
> ############
> ## Output ##
> ############
>
> echo ('<pre>');
> print_r($out);
> echo ('</pre>');
>
>
> ###################
> ## End Of Script ##
> ###################
>
> echo "End Of Scene";
>
> ?>
>
> The issue I have is that it feeds back:
>
> Array
> (
>     [0] => iqn.2013-04.com.widget:Target1
>     [1] =>
>     [2] => PSComputerName             RunspaceId                 Value
>     [3] => --------------             ----------                 -----
>     [4] => 127.0.0.1                  52fb8b1b-8d8b-4eec-9419...
> NotConnected
>     [5] =>
>     [6] =>
> )
>
> End Of Scene
>
> What I should see so I can then turn it into variables is what I run when
> I run the command straight through the local Powershell command prompt
> which would return:
> PS C:\Users\administrator.WIDGET.000> Get-IscsiServerTarget | % {
> $_.TargetIqn, $_.Status}
> iqn.2013-04.com.widget:Target1
> NotConnected
> iqn.2013-04.com.widget:Target2
> NotConnected
> iqn.2013-04.com.widget:Target3
> NotConnected
> iqn.2013-04.com.widget:Target4
> Connected
> iqn.2013-04.com.widget:Target5
> NotConnected
> iqn.2013-04.com.widget:Target6
> NotConnected
>
> I cannot figure out how to 'exclude' PSComputerName and RunspaceId
>
> Sorry in advance for the wordy explanation.
>
> Cheers!
>
> Alan
>
>
> Please make note of my new email address: [email protected].
>
> CONFIDENTIALITY NOTICE: This e-mail and the attachment(s) hereto (if any)
> contain confidential information that is privileged and intended only for
> the addressee(s) hereof. If you are not an intended recipient, you are
> hereby notified that any disclosure, copying, distribution or use of this
> e-mail and/or the accompanying attachment(s) is strictly prohibited. If you
> have received this e-mail in error, please immediately notify the sender by
> return e-mail.****
>
>  ****
>
> ** **
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.