Size: a a a

PowerShellRus - о Powershell (и не только) на русском

2021 October 28

С

Сергеич in PowerShellRus - о Powershell (и не только) на русском
Не могу раздуплить чота, подтопните в нужном направлении, пытаюсь изменить УЗ запуска службы через wmi
источник

С

Сергеич in PowerShellRus - о Powershell (и не только) на русском
например:
$svc = get-wmiobject win32_service -filter "name='wuauserv'"
$svc.GetMethodParameters("change")
вижу:
__GENUS                    : 2
__CLASS                    : __PARAMETERS
__SUPERCLASS               :
__DYNASTY                  : __PARAMETERS
__RELPATH                  :
__PROPERTY_COUNT           : 11
__DERIVATION               : {}
__SERVER                   :
__NAMESPACE                :
__PATH                     :
DesktopInteract            :
DisplayName                :
ErrorControl               :
LoadOrderGroup             :
LoadOrderGroupDependencies :
PathName                   :
ServiceDependencies        :
ServiceType                :
StartMode                  :
StartName                  :
StartPassword              :
PSComputerName             :
источник

С

Сергеич in PowerShellRus - о Powershell (и не только) на русском
если выбрать всё доступное:
get-wmiobject win32_service -filter "name='wuauserv'" | select *
я уже вижу со значениями:
PSComputerName          : TECH-13
Name                    : wuauserv
Status                  : OK
ExitCode                : 0
DesktopInteract         : False
ErrorControl            : Normal
PathName                : C:\Windows\system32\svchost.exe -k netsvcs -p
ServiceType             : Share Process
StartMode               : Disabled
__GENUS                 : 2
__CLASS                 : Win32_Service
__SUPERCLASS            : Win32_BaseService
__DYNASTY               : CIM_ManagedSystemElement
__RELPATH               : Win32_Service.Name="wuauserv"
__PROPERTY_COUNT        : 26
__DERIVATION            : {Win32_BaseService, CIM_Service, CIM_LogicalElement, CIM_ManagedSystemElement}
__SERVER                : TECH-13
__NAMESPACE             : root\cimv2
__PATH                  : \\TECH-13\root\cimv2:Win32_Service.Name="wuauserv"
AcceptPause             : False
AcceptStop              : False
Caption                 : Центр обновления Windows
CheckPoint              : 0
CreationClassName       : Win32_Service
DelayedAutoStart        : False
Description             : Включает обнаружение, скачивание и установку обновлений для Windows и других программ. Если эта служба отключена, пользователи данного компьютера не смогут использовать слу
                         жбу Центра обновления Windows либо возможности автоматического обновления и программы не смогут использовать API агента Центра обновления Windows (WUA).
DisplayName             : Центр обновления Windows
InstallDate             :
ProcessId               : 0
ServiceSpecificExitCode : 0
Started                 : False
StartName               : LocalSystem
State                   : Stopped
SystemCreationClassName : Win32_ComputerSystem
SystemName              : TECH-13
TagId                   : 0
WaitHint                : 0
Scope                   : System.Management.ManagementScope
Path                    : \\TECH-13\root\cimv2:Win32_Service.Name="wuauserv"
Options                 : System.Management.ObjectGetOptions
ClassPath               : \\TECH-13\root\cimv2:Win32_Service
Properties              : {AcceptPause, AcceptStop, Caption, CheckPoint...}
SystemProperties        : {__GENUS, __CLASS, __SUPERCLASS, __DYNASTY...}
Qualifiers              : {dynamic, Locale, provider, UUID}
Site                    :
Container               :
источник

С

Сергеич in PowerShellRus - о Powershell (и не только) на русском
почему при запросе изменяемых параметров в полях пусто?
источник

С

Сергеич in PowerShellRus - о Powershell (и не только) на русском
судя по положению в полном списке строки StartName и StartPassword имеют порядковые номера 20 и 21
источник

С

Сергеич in PowerShellRus - о Powershell (и не только) на русском
еслине учитывать параметры начинающиеся с __
источник

С

Сергеич in PowerShellRus - о Powershell (и не только) на русском
то 10 и 11
источник

A

Aleksandr in PowerShellRus - о Powershell (и не только) на русском
Аргументов у метода Change - 11
источник

С

Сергеич in PowerShellRus - о Powershell (и не только) на русском
почему 10?
источник

С

Сергеич in PowerShellRus - о Powershell (и не только) на русском
я неправильно дергаю?
источник

A

Aleksandr in PowerShellRus - о Powershell (и не только) на русском
PS > (get-cimclass win32_service).CimClassMethods["Change"].Parameters.Count
11
источник

С

Сергеич in PowerShellRus - о Powershell (и не только) на русском
$svc.GetMethodParameters("change") это не корректно?
источник

С

Сергеич in PowerShellRus - о Powershell (и не только) на русском
хм...
источник

ПЛ

Павел Львов... in PowerShellRus - о Powershell (и не только) на русском
Чего гуглом не пользуемся?
Function Set-ServiceAcctCreds([string]$strCompName,[string]$strServiceName,[string]$newAcct,[string]$newPass){
 $filter = 'Name=' + "'" + $strServiceName + "'" + ''
 $service = Get-WMIObject -ComputerName $strCompName -namespace "root\cimv2" -class Win32_Service -Filter $filter
 $service.Change($null,$null,$null,$null,$null,$null,$newAcct,$newPass)
 $service.StopService()
 while ($service.Started){
   sleep 2
   $service = Get-WMIObject -ComputerName $strCompName -namespace "root\cimv2" -class Win32_Service -Filter $filter
 }
 $service.StartService()
}
https://stackoverflow.com/questions/313622/powershell-script-to-change-service-account
источник

A

Aleksandr in PowerShellRus - о Powershell (и не только) на русском
Корректно, если служебные убрать c __
источник

С

Сергеич in PowerShellRus - о Powershell (и не только) на русском
видел, не мог понять как они положение 7 и 8 получили
источник

С

Сергеич in PowerShellRus - о Powershell (и не только) на русском
(get-cimclass win32_service).CimClassMethods["Change"].Parameters такой способ-то получше
источник

С

Сергеич in PowerShellRus - о Powershell (и не только) на русском
более показательный
источник

ПЛ

Павел Львов... in PowerShellRus - о Powershell (и не только) на русском
Показательно, но не правильно. Вот правильно - $service.Change($null,$null,$null,$null,$null,$null,$newAcct,$newPass)
источник

С

Сергеич in PowerShellRus - о Powershell (и не только) на русском
вот я и залип
источник