Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
powershell:更改windows 7计算机上服务的启动类型_Windows_Powershell_Service - Fatal编程技术网

powershell:更改windows 7计算机上服务的启动类型

powershell:更改windows 7计算机上服务的启动类型,windows,powershell,service,Windows,Powershell,Service,我写了一个脚本来获取一台机器的服务,我想把StartMode镜像到另一台机器上。我想不出如何实现后者:在远程机器上设置服务。以下是我迄今为止写的一个剧本: #List of Issue of services $NamesOfIssueServices = "Browser", "Dhcp", "Dnscache", "dwmrcs", "iphlpsvc", "LanmanServer", "LanmanWorkstation", "MMCSS", "MpsSvc", "Netlogon",

我写了一个脚本来获取一台机器的服务,我想把StartMode镜像到另一台机器上。我想不出如何实现后者:在远程机器上设置服务。以下是我迄今为止写的一个剧本:

#List of Issue of services 
$NamesOfIssueServices = "Browser", "Dhcp", "Dnscache", "dwmrcs", "iphlpsvc", "LanmanServer", "LanmanWorkstation", "MMCSS", "MpsSvc", "Netlogon", "Netman", "netprofm", "NlaSvc", "nsi", "p2pimsvc","PNRPsvc","PolicyAgent", "SessionEnv", "stisvc", "W32Time", "WinHttpAutoProxySvc", "WinRM"

#get all services 
$W32Services = Get-WmiObject Win32_Service

#filter wanted services 
$IssueServices = $W32Services | Where-Object {$NamesOfIssueServices -contains $_.name}

#display wanted services
$IssueServices | Sort-Object name | ft Name, DisplayName, State, StartMode, StartName

如果您使用的是PowerShell v2.0,则可以通过使用cmdlet轻松做到这一点:


条件语句是由于从
StartMode
属性获取的值
“Auto”
-StartupType
参数所需的参数
“Automatic”
之间不兼容。

如果您使用的是PowerShell v2.0,则可以通过使用cmdlet轻松做到这一点:


条件语句是由于从
StartMode
属性获得的值
“Auto”
-StartupType
参数所期望的参数
“Automatic”
之间不兼容。

+1因为在win32\u服务中看到了Auto与set服务中Automatic的区别+1感谢您看到了win32_服务中的自动和set服务中的自动的区别!
foreach ($service in $issueServices) {
    $startMode = $service.StartMode

    if ($service.StartMode -eq "Auto") {
        $startMode = "Automatic"
    } 

    Set-Service -ComputerName TheRemoteMachine -Name $service.Name -StartupType $startMode
}