无法在Windows Server 2016无人参与安装中执行远程poweshell脚本


0

我正在尝试为Windows Server 2016无人参与安装创建unattended.xml文件,其中在安装Windows后,它应该执行位于远程samba共享上的一个powershell脚本。

我使用以下命令来运行存储在samba共享中的powershell脚本:

cmd.exe /c "ECHO R | powershell.exe -ExecutionPolicy Unrestricted -File \\192.168.137.131\install\ConfigureRemotingForAnsible.ps1"

无人参与安装过程运行良好,但ConfigureRemotingForAnsible.ps1脚本执行失败,并显示错误:

The argument '\\192.168.137.131\install\ConfigureRemotingForAnsible.ps1' to the -File parameter does not exist. Provide the path to an existing '.ps1' file as an argument to the -File parameter.

手动运行时,相同的命令会成功执行。

unattended.xml文件的相关部分:

<settings pass="specialize">
        <component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <RunSynchronous>
                <RunSynchronousCommand wcm:action="add">
                    <Order>1</Order>
                    <Path>cmd.exe /c "ECHO R | powershell.exe -ExecutionPolicy Unrestricted -File \\192.168.137.131\install\ConfigureRemotingForAnsible.ps1"</Path>
                </RunSynchronousCommand>
            </RunSynchronous>
        </component>
    </settings>

有人可以告诉我应该在我的unattended.xml中添加什么才能使其正常工作?

提前致谢。

Answers:


0

我怀疑,但不知道一个事实,你的无人值守执行是在一个不同于你想象的安全环境下运行。如果它在无人参与的执行中运行S4U身份验证,您将无法访问任何网络资源。这可以解释为什么它在您使用安全上下文登录时有效,但在无人值守时无法使用。

以下是关于计划任务,但也可能适用于此。 任务安全上下文


如何更改无人参与执行的安全上下文?
Yugendra

据我所知,你做不到。无人参与的计划任务执行将使用S4U身份验证,因此您将无法访问网络。让我的项目工作的唯一方法是让用户在运行任务的机器上登录正确的凭据。这个想法是为了防止黑客安装一个无人值守的计划任务,同时在任务运行时具有网络访问权限。
thx1138v2

现在我能够在审核模式下执行该脚本,但这种方法的问题是:它在进入审核模式时忽略了OOBE传递中的其余设置(管理员密码,EULA)。我在这里创建了seprate线程。
Yugendra
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.