Сценарий Powershell для установки Microsoft 2010

#powershell

#powershell

Вопрос:

Я пытаюсь скопировать файл с сервера на компьютер для автоматической установки Microsoft Office 2010. Я получаю следующую ошибку, когда просто пытаюсь использовать часть CopyItem.

 Start-Service : Service 'Remote Registry (remoteregistry)' cannot be started due to the following error: Cannot open remoteregistry service on computer 'IT-PCName'.
At line:21 char:54
  Get-Service remoteregistry -ComputerName $computer | Start-Service
                                                       ~~~~~~~~~~~~~
      CategoryInfo          : OpenError: (System.ServiceProcess.ServiceController:ServiceController) [Start-Service], ServiceCommandException
      FullyQualifiedErrorId : CouldNotStartService,Microsoft.PowerShell.Commands.StartServiceCommand
  

(Ну, я только что понял, что приведенная выше ошибка связана с тем, что имя компьютера и имя пользователя разные, поэтому эта ошибка устранена, но сценарий все еще не работает, потому что я не уверен, как должна читаться эта строка $InstallString = '"C:windowstempOffice 2010setup.exe" /adminfile Updates/OfficeSetup.MSP /config ProPlus.WW/config.xml"' )

Пока что это мой код для копирования Office 2010 на ПК для автоматического запуска установки.

  ForEach ($computer in (GC (Get-FileName -InitialDirectory $env:USERPROFILEDesktop -Filter "Text files (*.txt)|*.txt|All files (*.*)|*.*"))) {

    $filepath = Test-Path -Path "\$computerC:Program Files (x86)Microsoft Office"
         If ($filepath -eq $false)
         {
    Get-Service remoteregistry -ComputerName $computer | Start-Service
         Copy-Item -Path "\serverOrigInstallOffice2010" -Destination "\$computerc$windowstemp" -Container -Recurse -Force
}
}
  

Как только файл будет передан на компьютер, я подумал, что я мог бы сделать что-то вроде этого

 ForEach ($computer in (GC (Get-FileName -InitialDirectory $env:USERPROFILEDesktop -Filter "Text files (*.txt)|*.txt|All files (*.*)|*.*"))) {

$filepath = Test-Path -Path "\$computerC:Program Files (x86)Microsoft Office"
     If ($filepath -eq $false)
     {
Get-Service remoteregistry -ComputerName $computer | Start-Service
     Copy-Item -Path "\serverOrigInstallOffice2010" -Destination "\$computerc$windowstemp" -Container -Recurse -Force
     $InstallString = '"C:windowstempOffice 2010setup.exe" /adminfile Updates/OfficeSetup.MSP /config ProPlus.WW/config.xml"'
     ([WMICLASS]"\$computerROOTCIMV2:Win32_Process").Create($InstallString)

     "$computer"   "-"   "(Get-Date)" | Out-File -FilePath "\serverOrigInstallRemoteInstallfile.txt" -Append
     }
     Else
     {
     "$computer"   "_Already_Had_Software_"   "(Get-Date)" | Out-File -FilePath "\serverOrigInstallRemoteInstallfile.txt" -Append
     }
}
  

Ответ №1:

Похоже, у вас только что был дополнительный » после config.xml

 $InstallString = '"C:windowstempOffice 2010setup.exe" /adminfile Updates/OfficeSetup.MSP /config ProPlus.WW/config.xml'