【发布时间】:2020-12-12 08:26:14
【问题描述】:
我从谈论我当前的 Powershell 脚本开始 - 但这将是一个更多的 C# 问题...
我有 3 个 Powershell 脚本,它们都按预期工作。第一个包括一个允许用户选择各种功能的 GUI。一旦选择了功能,它就会依次运行每个功能。 但是,有几个需要重新启动本地计算机。比如重命名电脑和加入域。
“重新启动”部分并不太麻烦,因为 - 在适当的时候 - 脚本会设置一个 RunOnce 注册表项,该注册表项会在重新启动完成后调用第二个脚本。如有必要(取决于所选的原始选项),它会设置另一个 RunOnce 键以在再次重新启动后调用第三个脚本。
到目前为止,我的问题是如何保存重启后进程的变量/状态。
假设用户选择了 5 个选项...
-重命名机器 -加入域 -禁用休眠 - 配置 WSUS -重置索引
我的第三个脚本包含最后 3 个项目 + 其他项目的函数。我希望第三个脚本“知道”最初选择了哪些选项/功能,并且只运行那些 - 而不是其他未被选择的。
现在我开始用 PS 写这个,因为我的大部分任务都是系统配置,我觉得 PS 是更合适的语言。但是,我找不到按照我想要的方式完成此操作的方法。我在 C# 方面的经验“有限” - 足以完成我想要的所有功能 - 或者至少使用 C# 作为调用 PS 脚本的包装器。但我不确定如何保存可以在任何后续重新启动时调用的所选项目的状态。
感谢任何回复。
谢谢! 迈克
【问题讨论】:
-
问:我不确定如何保存可以在任何后续重新启动时调用的所选项目的状态。 A: 你的 PS 脚本有写入磁盘文件吗?然后让您的重启后脚本读取(并可选择删除)它?
-
我已将您问题的标题更改为 PowerShell 脚本如何保存状态然后在计算机重新启动后继续? 因为这是您问题的本质。脚本的确切作用;选项是什么以及您如何设法重新启动并不那么重要。考虑按照这些思路浓缩您的问题
标签: c# powershell