У меня есть приложение C# Winforms который звонит простой Powershell скрипт, используя следующий метод:C# Применение Вызов Powershell Проблемы сценария
Process process = new Process();
process.StartInfo.FileName = @"powershell.exe";
process.StartInfo.Arguments = String.Format("-noexit \"C:\\Develop\\{1}\"", scriptName);
process.Start();
Скрипт PowerShell просто считывает ключ реестра и выводит подразделы.
$items = get-childitem -literalPath hklm:\software
foreach($item in $items)
{
Write-Host $item
}
У меня есть проблема в том, что, когда я запускаю скрипт из C# приложения я получаю один набор результатов, но при запуске автономного сценария (из командной PowerShell строки) я получаю различный набор результатов полностью.
Результаты работы с C# приложения являются:
HKEY_LOCAL_MACHINE\software\Adobe
HKEY_LOCAL_MACHINE\software\Business Objects
HKEY_LOCAL_MACHINE\software\Helios
HKEY_LOCAL_MACHINE\software\InstallShield
HKEY_LOCAL_MACHINE\software\Macrovision
HKEY_LOCAL_MACHINE\software\Microsoft
HKEY_LOCAL_MACHINE\software\MozillaPlugins
HKEY_LOCAL_MACHINE\software\ODBC
HKEY_LOCAL_MACHINE\software\Classes
HKEY_LOCAL_MACHINE\software\Clients
HKEY_LOCAL_MACHINE\software\Policies
HKEY_LOCAL_MACHINE\software\RegisteredApplications
PS C:\Develop\RnD\SiriusPatcher\Sirius.Patcher.UI\bin\Debug>
При запуске из командной PowerShell строки я получаю:
PS M:\> C:\Develop\RegistryAccess.ps1
HKEY_LOCAL_MACHINE\software\ATI Technologies
HKEY_LOCAL_MACHINE\software\Classes
HKEY_LOCAL_MACHINE\software\Clients
HKEY_LOCAL_MACHINE\software\Equiniti
HKEY_LOCAL_MACHINE\software\Microsoft
HKEY_LOCAL_MACHINE\software\ODBC
HKEY_LOCAL_MACHINE\software\Policies
HKEY_LOCAL_MACHINE\software\RegisteredApplications
HKEY_LOCAL_MACHINE\software\Wow6432Node
PS M:\>
Второй набор результатов соответствует тому, что я имею в реестре , но первый набор результатов (который пришел из приложения C#) - нет.
Любая помощь или указатели будут значительно apreciated :)
Бен
ли вы имеете в виду \ "C: \\ \\ Развивать {0} \"»вместо {1} – abatishchev
любое окончательное решение об этом – Kiquenet