wordpress   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在WDS部署的专门化传递期间运行PowerShell脚本?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我正在使用安装介质上的默认boot.wim文件为 Windows Server 2012无人参与部署设置 Windows Deployment services(WDS).我有一个PowerSHell脚本,可以为我们的网站执行自动定制.我希望这个脚本在specialize pass期间运行,所以我不必乱用自动登录,并且能够在配置期间保存自己重启.该脚本似乎没有运行,日志只提供无用的错误代码. 这是
我正在使用安装介质上的认boot.wim文件Windows Server 2012无人参与部署设置 Windows Deployment Services(WDS).我有一个PowerSHell脚本,可以为我们的网站执行自动定制.我希望这个脚本在specialize pass期间运行,所以我不必乱用自动登录,并且能够在配置期间保存自己重启.该脚本似乎没有运行,日志只提供无用的错误代码.

这是我的无人参与文件的相关部分:

<setTings pass="specialize">
        <component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://scheR_609_11845@as.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLscheR_609_11845@a-instance">
            <RunSynchronous>
                <RunSynchronousCommand wcm:action="add">
                    <Order>1</Order>
                    <Credentials>
                        <Domain>WDSSERVER</Domain>
                        <password>ApassworD</password>
                        <Username>AUSERNAME</Username>
                    </Credentials>
                    <Path>"c:\windows\system32\windowspowersHell\v1.0\powersHell.exe" -executionpolicy unreStricted -command "\\<REMOTESERVER>\reminst\customize\specialize.ps1"</Path>
                </RunSynchronousCommand>
            </RunSynchronous>
        </component>
    </setTings>

响应来自kce的请求.这是脚本本身:

write-host "ExecuTing customisation script."
write-host "enabling powersHell script execution"
Set-ExecutionPolicy UnreStricted

write-host "Bringing non-system disks online..."
Get-Disk | Where-Object IsOffline –Eq $True | Set-Disk –IsOffline $false
Set-Disk -number 1 -IsReadOnly $false
Set-Disk -number 2 -IsReadOnly $false

write-host "SetTing up NTP..."
W32tm /register
start-service w32time
w32tm /config /manualpeerlist:uk.pool.ntp.org
restart-service w32time
Set-service W32Time -StartupType Automatic
sc triggerinfo w32time start/networkon stop/networkoff
sc config W32Time start=auto

write-host "Determining system RAM and setTing pagefile..."
$RAM = Get-WmiObject -Class Win32_OperatingSystem | SELEct @R_650_10586@lVisibleMemorySize
$RAM = ($RAm.@R_650_10586@lVisibleMemorySize / 1kb).toString("F00")
write-host "disable automanage"
wmic computersystem set AutomaticManagedPagefile=false
Write-Host "removing old pagefile"
wmic pagefileset delete
write-host "creaTing new pagefile on E:\"
wmic pagefileset create name=“e:\pagefile.sys”
write-host "set size"
$PageFile = Get-WmiObject -Class Win32_PageFileSetTing
$PageFile.InitialSize = $RAM
$PageFile.MaximumSize = $RAM
[void]$PageFile.Put()

write-host "Disabling Windows Firewall..."
netsh advfirewall set allprofiles state off

write-host "Enabling powersHell remoTing..."
Enable-PSRemoTing -Force

write-host "SorTing out remote management trusted hosts..."
winrm s winrm/config/client '@{TrustedHosts="*"}'

write-host "Disabling Windows error reporTing..."
Disable-WindowsErrorReporTing

write-host "Installing VMware Tools..."
c:\vmware-tools.exe /S /v"/qn"
从我正在阅读的内容来看,未抛出的抛出导致退出代码为1.此外,当它应该通过-file开关传递时,你通过-command开关传入脚本路径;请参阅 the reference. -command会将您的字符串视为一个命令,因为它是一个文件路径,它会在PowerSHell窗口中抛出我们喜欢的那些相同的红色字母异常之一,瞧!退出代码1,因为异常未被捕获.当然,所有这些都是猜测,除非
"powersHell.exe" -executionpolicy bypass -noprofile -file "\\<REMOTESERVER>\reminst\customize\specialize.ps1"

实际上是有效的,假设它运行的帐户具有文件共享的权限.要避免这些权限问题,您只需将代码粘贴到{}之间的答案文件中,然后使用-command选项,

"powersHell.exe" -executionpolicy bypass -noprofile -command {...}

大佬总结

以上是大佬教程为你收集整理的如何在WDS部署的专门化传递期间运行PowerShell脚本?全部内容,希望文章能够帮你解决如何在WDS部署的专门化传递期间运行PowerShell脚本?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。