Giter Site home page Giter Site logo

jenkinsci / windows-slaves-plugin Goto Github PK

View Code? Open in Web Editor NEW
21.0 105.0 50.0 216 KB

Launches Windows Agents using DCOM and WMI

Home Page: https://plugins.jenkins.io/windows-slaves

Java 88.57% Groovy 1.47% HTML 9.96%
jenkins-plugin wmi dcom windows deprecated

windows-slaves-plugin's Introduction

WMI Windows Agents Plugin for Jenkins

Allows you to setup agents on Windows machines over Windows Management Instrumentation (WMI).

NOTICE OF DEPRECATION

This plugin is deprecated. SSH is now a very viable, secure and robust solution for connecting to Windows based agents using native Windows binaries for OpenSSH Server or another method such as cygwin. There is also the Windows Cloud plugin for Jenkins which uses WinRM, a more modern remote management solution.

The method for connecting agents to the controller in this plugin, which is based on DCOM, has several pitfalls and issues and can be brittle. The SSH and other solutions can unify the method for connecting to all agents (Windows, Linux, macOS, etc.) in your infrastructure. It is highly recommended that you migrate to one of these other methods sooner rather than later.

Microsoft is tightening security on DCOM based on a CVE. Initial OS updates will require a registry change to enable the current security level, then on the 1th of March of 2023 they will not have a way to override the secure behavior. The library used in this plugin was last released in ~2010 and does not have an active development team. Jenkins developers have decided to deprecate this plugin rather than try and maintain the library on our own.

If someone would like to keep the plugin going, they would need to adopt the plugin and update it to align with the changes that Microsoft is putting in to resolve the CVE.

Usage

Once the plugin is installed, a new launch type is available in the agent configuration. Once the agent configuration is saved, Jenkins will reconnect the agent using the plugin.

configuration

How does it work?

This section goes into the details of how the managed Windows agent launcher actually works.

Jenkins uses multiple protocols to install the actual agent as a Windows service and then start it. These protocols have been around for a quite some time.

Important
The installation process assumes that the JRE is installed and accessible on the agent. Please see Troubleshooting WMI Windows Agents if you need further help.
  • It first uses CIFS (also known as "Windows file share protocol") to push files into the agent. When used by someone with administrative privileges, Windows file shares expose what’s commonly known as "administrative shares", which are hidden exported directories that cover every drive in the system.

  • It then uses DCOM to talk to WMI to install and start a service remotely.

Troubleshooting

Changelog

windows-slaves-plugin's People

Contributors

akrist avatar alecharp avatar andresrc avatar armfergom avatar basil avatar batmat avatar car-roll avatar cbdchang avatar clywyk avatar darxriggs avatar jglick avatar jmmeessen avatar jsoref avatar jtnord avatar magicalbob avatar markewaite avatar mramonleon avatar notmyfault avatar oleg-nenashev avatar olivergondza avatar raul-arabaolaza avatar rsandell avatar sghill-rewrite avatar slide avatar twasyl avatar vlatombe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.