public void Launch() { if (_console != null) { _console.Activate(); return; } PSConfig.AddVariable("MEFHelper", _mefHelper); PSConfig.AddVariable("AlbumRepository", _albumRepository); PSConfig.AddVariable("MainWindow", Application.Current.MainWindow); PSConfig.Profile = "BeaverMusicProfile.ps1"; _console = new PSConsole(); _console.Closing += (s, e) => _console = null; _console.Show(); }
static void ExecuteTask(string taskPath) { var di = new DirectoryInfo(taskPath); var files = di.GetFiles("*.ps1").OrderBy(f => f.Name); Write.Label("TargetPath: ", rpkg.TargetPath); Write.Label("OriginPath: ", rpkg.OriginPath); PSConfig.AddVariable("TargetSQLServer", rpkg.TargetSQLServer); PSConfig.AddVariable("TargetPath", rpkg.TargetPath); PSConfig.AddVariable("OriginPath", rpkg.OriginPath); PSConfig.AddVariable("AppName", app.Nombre); PSConfig.AddVariable("AppVersion", app.Version); foreach (var file in files) { Write.Label("Ejecutando: ", file.FullName); var script = File.ReadAllText(file.FullName); //script = script.Replace("{rpkg.OriginPath}",rpkg.OriginPath); Console.WriteLine(PS.ExecutePS(script)); } }