/// <summary> /// 检查windows服务是否已存在 /// </summary> /// <param name="request"></param> private void CheckWinservice(GetVersionVm request) { if (string.IsNullOrEmpty(request.Name)) { WriteError("service name required!"); return; } if (!string.IsNullOrEmpty(request.Mac) && !Setting.CheckIsInWhiteMacList(request.Mac)) { WriteError($"macAddress:[{request.Mac}] invalid"); return; } var serviceName = request.Name.Trim(); var service = WindowServiceHelper.GetWindowServiceByName(serviceName); if (!string.IsNullOrEmpty(service.Item2)) { WriteError(service.Item2); return; } CheckExistResult result = new CheckExistResult { WebSiteName = serviceName, Success = service.Item1 != null }; WriteSuccess(result); }
/// <summary> /// 检查IIS中是否存在指定网站 /// </summary> /// <param name="request"></param> private void CheckIIs(GetVersionVm request) { if (string.IsNullOrEmpty(request.Name)) { WriteError("web site name required!"); return; } if (!string.IsNullOrEmpty(request.Mac) && !Setting.CheckIsInWhiteMacList(request.Mac)) { WriteError($"macAddress:[{request.Mac}] invalid"); return; } var webSiteName = request.Name.Trim(); var siteNameArr = webSiteName.Split('/'); if (siteNameArr.Length > 2) { WriteError("webSiteName level limit is 2"); return; } var level1 = siteNameArr[0]; var level2 = siteNameArr.Length == 2 ? siteNameArr[1] : string.Empty; var isSiteExistResult = IISHelper.IsSiteExist(level1, level2); if (!string.IsNullOrEmpty(isSiteExistResult.Item3)) { WriteError(isSiteExistResult.Item3); return; } var iisVersion = IISHelper.GetIISVersion(); if (iisVersion <= 6) { WriteError($"remote iis verison is too low!"); return; } CheckExistResult result = new CheckExistResult(); result.WebSiteName = webSiteName; result.Level1Name = level1; result.Level1Exist = isSiteExistResult.Item1; if (!isSiteExistResult.Item1) { //一级不存在 那肯定要输入了 端口号必填 result.Level1Exist = false; } else if (isSiteExistResult.Item1 && !isSiteExistResult.Item2 && !string.IsNullOrEmpty(level2)) { //一级存在二级不存在 不用填端口号 result.Level2Exist = false; } else { result.Success = true; } WriteSuccess(result); }