Sou um administrador de sistemas e estou tentando aprender como usar o powershell ... Eu nunca fiz nenhum tipo de script ou codificação antes e tenho aprendido online aprendendo no centro de script technet e fóruns on-line. .
O que estou tentando fazer é abrir uma planilha do Excel para obter informações dela (nomes de usuário e senha) e, em seguida, enviá-la para o prompt de comando no PowerShell. Quando eu tento fazer isso, recebo uma Exceção chamando "InvokeMember", aqui está o código que eu tenho até agora:
function Invoke([object]$m, [string]$method, $parameters)
{
$m.PSBase.GetType().InvokeMember(
$method, [Reflection.BindingFlags]::InvokeMethod, $null, $m, $parameters,$ciUS )
}
$ciUS = [System.Globalization.CultureInfo]'en-US'
$objExcel = New-Object -comobject Excel.Application
$objExcel.Visible = $False
$objExcel.DisplayAlerts = $False
$objWorkbook = Invoke $objExcel.Workbooks.Open "C:\PS\User Data.xls"
Write-Host "Numer of worksheets: " $objWorkbook.Sheets.Count
$objWorksheet = $objWorkbook.Worksheets.Item(1)
Write-Host "Worksheet: " $objWorksheet.Name
$Forename = $objWorksheet.Cells.Item(2,1).Text
$Surname = $objWorksheet.Cells.Item(2,2).Text
Write-Host "Forename: " $Forename
Write-Host "Surname: " $Surname
$objExcel.Quit()
If (ps excel) { kill -name excel}
Eu tenho lido muitos posts diferentes em fóruns e artigos sobre como tentar contornar o problema en-US, mas eu não consigo contornar isso e espero que alguém aqui possa ajudar!
Aqui está o problema de Exeption que mencionei:
Exception calling "InvokeMember" with "6" argument(s): "Method 'System.Management.Automation.PSMethod.C:\PS\User Data.x
ls' not found."
At C:\PS\excel.ps1:3 char:33
+ $m.PSBase.GetType().InvokeMember <<<< (
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException
Numer of worksheets:
You cannot call a method on a null-valued expression.
At C:\PS\excel.ps1:18 char:45
+ $objWorksheet = $objWorkbook.Worksheets.Item <<<< (1)
+ CategoryInfo : InvalidOperation: (Item:String) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
Worksheet:
You cannot call a method on a null-valued expression.
At C:\PS\excel.ps1:21 char:37
+ $Forename = $objWorksheet.Cells.Item <<<< (2,1).Text
+ CategoryInfo : InvalidOperation: (Item:String) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
You cannot call a method on a null-valued expression.
At C:\PS\excel.ps1:22 char:36
+ $Surname = $objWorksheet.Cells.Item <<<< (2,2).Text
+ CategoryInfo : InvalidOperation: (Item:String) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
Forename:
Surname:
Esta é a primeira pergunta que eu fiz, tente ser legal! :))
Muitos agradecimentos
Máximo