1

こんにちは私はPowerShellを初めて使用し、このスクリプトを実行できないようです。ワークグループ内のコンピューターでコマンドプロンプトを使用してコマンドをリモート実行することです。ここで、スクリプトを取得するエラーは次のとおりです。スクリプトを実行しています。私がリモートで実行したいwin7マシンはwindowsxpsp3であり、防火壁はオフであり、com設定は認証設定のデフォルトに設定されており、なりすましとヘルプを識別します。

これがエラーInvoke-WmiMethodです:アクセスが拒否されました。(HRESULTからの例外:0x80070005(E_ACCESSDENIED))C:\ Users \ Kevin \ Documents \ WindowsPowerShell \ Microsoft.PowerShell_profile.ps1:57 char:40 + $ newproc = Invoke-WmiMethod <<<< -class Win32_process -name Create ` + CategoryInfo:NotSpecified:(:) [Invoke-WmiMethod]、UnauthorizedAccessException + FullyQualifiedErrorId:System.UnauthorizedAccessException、Microsoft.PowerShell.Commands.InvokeWmiMethod

$command = Read-Host " Enter command to run" 
    $user = "\Administrator"
    $Domainname = $HostName +$user
    $login = Get-Credential $domainname

        [string]$cmd = "CMD.EXE /C " +$command 
                        } 
  process { 
        $newproc = Invoke-WmiMethod -class Win32_process -name Create `
            -ArgumentList ($cmd) -EnableAllPrivileges -ComputerName $HostName -authentication Packetprivacy -Impersonation 3 -Credential $login 
        if ($newproc.ReturnValue -eq 0 ) 
                { Write-host -foregroundcolor Green "Command $($command) Ran Sucessfully on $($HostName)"} 
4

1 に答える 1

1

これは、Get-CredentialがInvoke-WmiMethodの-credentialにパスワードを渡さないためだと思います。「convertto-securestring」を使用してクレデンシャルパスワードを作成することで、これを正確に実行します

パスワードをプレーンテキストで入力する必要があるほど安全ではないことはわかっていますが、スクリプトを使用してメンテナンスなどを行うのがあなただけの場合は、大したことではありません。

これを試して:

$command = Read-Host " Enter command to run" 
$pass = ConvertTo-SecureString "yourpassword" -Force -AsPlainText
$Domainname = 'Domain'
$user = '\administrator'
$login = $Domainname + $user
$cred = (New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $login, $pass)

        [string]$cmd = "CMD.EXE /C " +$command 
                        } 
  process { 
        $newproc = Invoke-WmiMethod -class Win32_process -name Create `
            -ArgumentList ($cmd) -EnableAllPrivileges -ComputerName $HostName -authentication Packetprivacy -Impersonation 3 -Credential $cred
        if ($newproc.ReturnValue -eq 0 ) 
                { Write-host -foregroundcolor Green "Command $($command) Ran Sucessfully 
于 2012-06-21T16:07:34.970 に答える