PsExec não funciona em computadores de 64 bits

1

Ao copiar o arquivo .exe para um computador Windows de 64 bits usando o sinalizador -c com o PsExec, há um erro ao executá-lo, o PsExec apenas fica parado.

Alguém mais está passando por isso?

    
por Luca Matteis 20.08.2010 / 16:15

2 respostas

1

Está este tópico em social.msdn relevante?

O pôster estava tendo problemas com o PsExec em algumas máquinas de 64 bits, mas estava recebendo uma mensagem "... dispositivo não está funcionando ...". No entanto, na sua própria resposta, ele afirma:

After some more testing I noticed the problem only occurred on WES 7 64 Bit.
Any retail version 32 or 64 bit and WES 7 32 bit would work fine.
Then I remembered the following update:
KB982199 is an update for 64-bit systems which fixes the following issue: CreateProcess fails for 32 bit Applications on Windows Embedded Standard 7 64-bit runtimes when redirection disabled
After installing this update the problem was solved.

    
por 20.08.2010 / 16:41
0

const string subchave="Software \ Sysinternals \ PsExec";

        if (Environment.Is64BitOperatingSystem)
        {
            // For 64 Bit PC
            RegistryKey registryKey64 = RegistryKey.OpenBaseKey(RegistryHive.CurrentUser, RegistryView.Registry64);
            RegistryKey NDPKey64 = registryKey64.OpenSubKey(subkey);
            if (NDPKey64 != null)
            {
                Registry.CurrentUser.OpenSubKey(subkey, true).SetValue("EulaAccepted", 1, RegistryValueKind.DWord);
            }
            else
            {
                RegistryKey regKey64 = registryKey64.OpenSubKey("Software", true);
                regKey64.CreateSubKey("Sysinternals\PsExec", RegistryKeyPermissionCheck.ReadWriteSubTree);
                Registry.CurrentUser.OpenSubKey(subkey, true).SetValue("EulaAccepted", 1, RegistryValueKind.DWord);
            }
        }
        else
        {
            //For 32 bit PC
            RegistryKey registryKey32 = Registry.CurrentUser.OpenSubKey(subkey);
            if (registryKey32 != null)
            {
                Registry.CurrentUser.OpenSubKey(subkey, true).SetValue("EulaAccepted", 1, RegistryValueKind.DWord);
            }
            else
            {
                RegistryKey regKey32 = Registry.CurrentUser.OpenSubKey("Software", true);
                regKey32.CreateSubKey("Sysinternals\PsExec", RegistryKeyPermissionCheck.ReadWriteSubTree);
                Registry.CurrentUser.OpenSubKey(subkey, true).SetValue("EulaAccepted", 1, RegistryValueKind.DWord);
            }
        }
    
por 27.11.2012 / 11:11