取消ESXi的4G内存安装检查限制

作者:tKC 发布时间:September 7, 2017 分类:IT技术

偶尔测试ESXi虚拟机,刚好4G内存的机器,但是安装ESXi的时候显示3.7G内存,不让安装
于是搜索了一下,解决办法如下,就是修改安装脚本,将4G内存限制修改为2G或者更小即可
注:该方法在ESXi5.x和6.0上均测试成功
首先,ESXi安装启动系统,直到出现Welcom界面,按Alt+F1
登录用户名root,密码空,直接回车
进入检查脚本的目录

#cd /usr/lib/vmware/weasel/util

删除pyc文件,下次执行更新后的upgrade_precheck.py会重新生成pyc文件

#rm upgrade_precheck.pyc

复制upgrade_precheck.py文件,并重新复制一个该文件,由于直接编辑这个文件会无法保存,所以才需要这么做

#mv upgrade_precheck.py upgrade_precheck.py.old    
#cp upgrade_precheck.py.old upgrade_precheck.py

设置新的upgrade_precheck.py文件权限为666

阅读剩余部分...

Windows Server 2012自动挂载存储池

作者:tKC 发布时间:October 20, 2016 分类:IT技术,微软

自从微软出了存储池功能就在Windows Server 2012系统开始启用了这个新特性,同时Win8和Win10上也对存储池功能进行了开放,只不过桌面版不支持去重。
另一个差别就是对于存储池的处理方式不同,桌面版系统会自动挂载存储池,而默认情况下服务器版系统的存储池则只有在本机原生配置的时候会自动挂载,如果是从其他机器挪过去的存储池则不会自动挂载,比如硬件故障,将硬盘都更换到另一台服务器上,则需要配置让Windows Server 2012自动挂载该存储池。
方法也很简单,通过PowerShell命令即可打开,输入以下命令查询未自动挂载的存储池

 Get-VirtualDisk | Where-Object {$_.IsManualAttach –eq $True}

会得到如下类似结果

PS C:\Windows\system32> Get-VirtualDisk | Where-Object {$_.IsManualAttach –eq $True
FriendlyName ResiliencySettingName OperationalStatus HealthStatus IsManualAttach Size
----------   -----------------     ---------------   ----------   ------------   ----
vd1          Mirror                Detached          Unknown      True           5.1 TB

输入以下命令将全部存储池设置为自动挂载

Get-VirtualDisk | Where-Object {$_.IsManualAttach –eq $True} | Set-VirtualDisk –IsManualAttach $False

再次重新查询确认命令是否生效即可。

欺骗Windows让不能上网的机器也不显示网卡黄叹号

作者:tKC 发布时间:June 24, 2016 分类:IT技术,微软

由于公司绝大部分计算机都不能连接互联网,经常有员工会问说自己网络有问题,网卡显示黄叹号,而实际上只有局域网情况下,确实就是显示黄叹号。
这是由于微软的一个网络状态指示器在工作导致的,而工作的原理如下:
首先一个DNS请求,www.msftncsi.com,然后请求此主机的/ncsi.txt文件。
内容是“Microsoft NCSI”
然后还会请求到dns.msftncsi.com的DNS名称解析。
当然针对这两个域名对应的IP地址还会做一些检测工作(恕我懒得抓包分析,谢谢)
如果都操作成功,那么恭喜你,网卡图标就没有黄色小叹号了。

如果不想看到黄色叹号,有两个解决办法
1、组策略(如果有域环境就更好了,一劳永逸)
依次展开“计算机配置”、“管理模板”、“系统”和“Internet 通信管理”,然后单击“Internet 通信设置”。在详细信息窗格中,双击“关闭 Windows 网络连接状态指示器活动测试”,然后单击“已启用”。
2、仅允许网络状态指示器检测的两个域名的网络地址访问
如果你没有域环境,且不想一台一台的设置,那么到防火墙或者行为管理服务器上允许这两个域名指向的IP访问即可,当然由于www.msftncsi.com是个地址池,我挑了里面ping值最低的一个IP(173.222.148.11),再顺便DNS劫持了一下,让内网请求www.msftncsi.com和dns.msftncsi.com都指向173.222.148.11这个IP地址就可以了。

注:实在太懒了,如果谁有时间有精力可以研究一下www.msftncsi.com上提供的服务,然后在内网做一个和它一样的机器就完美了。

PHP下使用ldap域账户认证密码

作者:tKC 发布时间:March 14, 2016 分类:IT技术,应用开发

以前用过一个模块来调用认证域帐号的,后来发现引用代码太多,因为只是为了做帐号密码认证,不做其他任何查询什么的,所以干脆拔代码自己精简下,下面的代码只是利用了输入正确的帐号密码创建ldap连接来判断密码是否正确。

<?php
    if (isset($_POST['UserName']))
        {
        $_SESSION['txtNo']=$_POST['UserName'] ;
        $ldapConnect=ldap_connect('192.168.1.200' , '389' );  
        //建立到ldap服务器的连接192.168.1.200是ldap服务器ip,389是ldap服务器端口(默认389)  
            $bind= @ldap_bind($ldapConnect , $_POST['UserName'] . '@yourname.local',$_POST['PassWord'] );  
         //验证帐号密码,ldap_bind第一个为绑定的连接,第二个为用户名(注意是否有后缀),第三个为密码。  
            if($bind )  
            {//验证成功,跳转到ok.php
                $_SESSION['login']="ok";
        echo '<meta http-equiv="refresh" content="0;url=ok.php">';
            }  
            else  
            {//验证失败,弹出提示,并跳转回login.php
                echo "<script>alert('用户名或密码错误')</script>";
                echo '<meta http-equiv="refresh" content="0;url=login.php">';
         }  
            ldap_close($ldapConnect);   
        //关闭ldap连接  
        }
    else {
        echo "<script>alert('用户名或密码错误')</script>";
        echo '<meta http-equiv="refresh" content="0;url=login.php">';
    }
?>

Windows上配置PHP的LDAP扩展

作者:tKC 发布时间:March 14, 2016 分类:IT技术,服务软件

写个程序,需要用到ldap的功能,发现报错,虽然php.ini打开了ldap的模块,但phpinfo中没有发现ldap扩展
搜索一番,发现,win下面还需要apache强制加载两个依赖库libeay32.dll和ssleay32.dll,
修改apache的配置文件,强制加载着两个扩展:

LoadFile "C:/PHP/ext/ssleay32.dll"
LoadFile "C:/PHP/ext/libeay32.dll"

重启即可。