微软私有云交流群【236804566】,技术分享成就梦想
欢迎关注新浪微博 @肥九叔
今天在群里面看到有同学问到,SCVMM能不能统一导出一份报表给客户看,当然这是可以的,不过基本非常依赖SQL,要写SQL语句。 当然,用PowerShell也可以实现差不多的功能,本人技术非常一般,下面脚本对我来说还是比较好用的。 首先PowerShell输出Hyper-V主机的条目信息是这样的
Get-VMNetworkAdapter-all
这个命令输出的结果有多悲剧我就不说了,东西太多。 所以我很机智的加了一些东西,"|"是管道的作用,把结果输出到后面的参数,后面的意思是只输出虚拟机名称和IP地址。
Get-VMNetworkAdapter-all|Select-ObjectVMname,IPAddresses|Format-Table
既然已经很机智了,再来一点吧
Get-VMNetworkAdapter-all|Select-ObjectVMname,IPAddresses|Format-Table>>\192.168.15.194d$33.csv
直接将内容输出到一个共享文件夹的.csv文件中。 ===========更高档的来了?====================== 用下面这个句子,可以一次输出三台主机的IP地址和虚拟机名称列表,名称为目标主机的d盘下的以主机名为名称的.csv,这时候注意下,输出结果是分散在不同主机上的。
Invoke-Command-ComputerNamehahv1,hahv2,hahv3-Command{Get-VMNetworkAdapter-all|Select-ObjectVMname,IPAddresses|Format-Table>d:$env:COMPUTERNAME.csv}
我们总结一下,写一个.ps1文件,也就是PowerShell的批处理脚本
Invoke-Command-ComputerNamehahv1,hahv2,hahv3-Command{Get-VMNetworkAdapter-all|Select-ObjectVMname,IPAddresses|Format-Table>d:$env:COMPUTERNAME.csv}#导出IP地址 #这下面三个copy是啥意思呢?拷贝不同主机上的文件到运行脚本的D盘 copy\hahv1d$hahv1.csvd: copy\hahv2d$hahv2.csvd: copy\hahv3d$hahv3.csvd: #PowerShell中运行cmd命令不太方便,因为cmd命令有一些和PowerShell差不多,但是功能不一样,所以用ech写入一条命令,就是将本地的csv文件组合一下,附加到一个叫做cp.cmd的文件中 echo"copy *.csv hv.csv /y">d:/cp.cmd d: #运行这个拷贝,结束 .cp.cmd |
还有很机智的小伙伴说,原来PowerShell里面可以运行cmd啊,是啊没错,不过你如果不是.xxx.cmd这种方式运行,程序就跑到cmd里面,回不到ps了,后续内容不执行,非常悲剧。
另外echo"copy *.csv hv.csv /y">d:/cp.cmd 这种方法其实是错的,正确的是下面的!!
echo"asdf3434sdsf3434df"Out-Filed:/11.txt-EncodingDefault-Append
你要问为什么这么写,是因为一行没什么事儿,多了的话,这乱码问题解决不了啊。 另外这种方式还有一个机智的地方,它是追加写入的,就是这命令你输入一次,他追加一行。 如果你想保证脚本干净,记得运行前来一个del cp.cmd 只有这样才会创建新的文件。
================下面内容是白送的=========================== 依然是报错一小波
Id10619,这个问题出错实在是太机智了。比如你VHD模板里面的管理员用户名是administrator,但是你在VM模板中想把管理员设置成admin,很遗憾,这不行。 如果你拿到的是别人做给你的VHD,你的好***很邪恶的修改了administrator的名称,变成了xyz,那么你正常部署必然会失败。
Id802,被其他人使用中,这个毫无办法,重启vmm服务器解决(其实是库服务器上的文件被其他人使用,但是重启VMM是有效的。)
Id2904找不到路径,这个问题是这样的,你想把虚拟机部署到目标主机的D:HYPERV目录下,但是,但是,你必须要提前创建这个目录才可以。
本文出自 "九叔-微软私有云" 博客,请务必保留此出处http://jiushu.blog.51cto.com/972756/1419862
在ThinkPHP中,关联模型更类似一种mysql中的外键约束,但是外键约束更加安全,缺点却是在写sql语句的时候不方便,ThinkPHP很好得解决了这个问题.但是很多人不动关联模型的意思.现在就写个例子.让大家理解ThinkPHP关联模型的意思.
环境描述:公司有一个员工表think_user,一个档案表,think_archives,一个部门表,think_department,和一个银行卡表.think_cars.
一个员工只有一个档案表,所以关系就是HSA_ONE,
一个员工只属于一个部门,但是部门里有多个员工,所以是BELONGS_TO关系
一个员工有多个银行卡,但是一个银行卡只能属于一个员工.所以关系就是HAS_MANY.
先创建需要的表和测试数据
think_user表.
CREATE TABLE `think_user`( `id` int (11) NOT NULL AUTO_INCREMENT, `username` varchar (50) NOT NULL , ` password ` varchar (50) NOT NULL , `did` int (11) NOT NULL , PRIMARY KEY (`id`) )ENGINE=InnoDB DEFAULT CHARSET=utf8| |
think_department
CREATE TABLE `think_department`( `id` int (11) NOT NULL AUTO_INCREMENT, ` name ` varchar (50) DEFAULT NULL , PRIMARY KEY (`id`) )ENGINE=InnoDB DEFAULT CHARSET=utf8| |
think_archives
CREATE TABLE `think_archives`( `id` int (7) NOT NULL AUTO_INCREMENT, `uid` int (11) NOT NULL , `addr` varchar (200) DEFAULT NULL , `email` varchar (30) DEFAULT NULL , `tel` int (13) DEFAULT NULL , PRIMARY KEY (`id`) )ENGINE=InnoDB DEFAULT CHARSET=utf8| |
think_cars
CREATE TABLE `think_cars`( `id` int (11) NOT NULL AUTO_INCREMENT, ` name ` varchar (50) DEFAULT NULL , `type` varchar (50) DEFAULT NULL , `uid` int (11) DEFAULT NULL , PRIMARY KEY (`id`) )ENGINE=InnoDB DEFAULT CHARSET=utf8 |
插入数据到部门表think_department
insert into think_cars values ( null , 'gongxiang' , '工商卡' , '1' ), ( null , 'jianshe' , '建行卡' , '2' ), ( null , 'jiaohang' , '交通银行卡' ,3); |
think_user数据
insert into think_archives values ( null ,1, '北京' , '123@163.com' , '13888888' ),
订阅:
博文评论 (Atom)
|
没有评论:
发表评论