【发布时间】:2014-05-03 20:05:48
【问题描述】:
是否可以在不同于 Windows 8 和 Windows Server 2012 的操作系统上安装 PS v3.0++ 附带的this module?
我知道所有 PS 替代品,但没有一个比提到的模块(PowerShell Pack 的 TaskScheduler、ScheduledJobs、schtasks 等)更完整。
如此重要的模块无法安装在旧系统上,这违反了逻辑。
【问题讨论】:
标签: powershell
是否可以在不同于 Windows 8 和 Windows Server 2012 的操作系统上安装 PS v3.0++ 附带的this module?
我知道所有 PS 替代品,但没有一个比提到的模块(PowerShell Pack 的 TaskScheduler、ScheduledJobs、schtasks 等)更完整。
如此重要的模块无法安装在旧系统上,这违反了逻辑。
【问题讨论】:
标签: powershell
你运气不好。见the explanation here。为了完整起见,我将发布一部分:
长的答案是你不能,因为在大多数情况下,那些 模块基于 Windows 中引入的 CIM (WMI) 类 8 或 8.1。您在其中看到的许多系统管理功能 现代 Windows 基于 CIM 类,然后使用 CDXML 创建 PowerShell 模块的方法。 无法在 Windows 7 上安装新的 CIM 类 - 因此您无法获得它们所基于的模块。
【讨论】:
查看这个简单的批处理文件,它可以在没有 powershell 的 Windows 7 上运行,并将所有内容保存为 xml 并以 xml 格式导入
如果您仅导出和导入到 Windows 7 电脑 替换有
的行del tasks\#Microsoft*.xml
与
rem del tasks\#Microsoft*.xml
这是链接断开时的代码
rem @echo off
cls
setlocal EnableDelayedExpansion
set runasUsername=domain\administrator
set runasPassword=password
if %1. == export. call :export
if %1. == import. call :import
exit /b 0
:export
md tasks 2>nul
schtasks /query /fo csv | findstr /V /c:"TaskName" > tnlist.txt
for /F "delims=," %%T in (tnlist.txt) do (
set tn=%%T
set fn=!tn:\=#!
echo !tn!
schtasks /query /xml /TN !tn! > tasks\!fn!.xml
)
rem Windows 2008 tasks which should not be imported.
del tasks\#Microsoft*.xml
exit /b 0
:import
for %%f in (tasks\*.xml) do (
call :importfile "%%f"
)
exit /b 0
:importfile
set filename=%1
rem replace out the # symbol and .xml to derived the task name
set taskname=%filename:#=%
set taskname=%taskname:tasks\=%
set taskname=%taskname:.xml=%
schtasks /create /ru %runasUsername% /rp %runasPassword% /tn %taskname% /xml %filename%
echo.
echo.
【讨论】: