powershell批量获取远程服务器hperv虚拟机磁盘信息

比如获取远程服务器的hyperv虚拟机的磁盘路径,

把远程主机名添加到servername,循环读取

Foreach ($servername in Get-Content servername.txt ){
Write-Host -------------- $servername -----------------------
write-host --------------------------------------------------
$Session = New-PSSession -ComputerName $servername
Enter-PSSession -Session $Session -Verbose
Invoke-Command -Session $Session -ScriptBlock{
Foreach ($vmname in (Get-VM).Name){
Write-Host $vmname (Get-VM -Name $vmname).State (Get-VMHardDiskDrive -VMName $vmname).Path}
exit
}
Remove-PSSession -id (Get-PSSession).Id
write-host --------------------------------------------------
}

Hyper-V虚拟机端口映射,实现通过外网IP端口访问虚拟机

一、查询端口映射情况

netsh interface portproxy show v4tov4

查询这个IP所有的端口映射。

netsh interface portproxy show v4tov4|find “192.168.1.1”

二、增加一个端口映射

netsh interface portproxy add v4tov4 listenport=外网端口 listenaddress=主IP connectaddress=私网IP connectport=私网IP端口

例如:
netsh interface portproxy add v4tov4 listenport=8888 listenaddress=192.168.1.55 connectaddress=192.168.8.10 connectport=3389

三、删除一个端口映射

netsh interface portproxy delete v4tov4 listenaddress=主IP listenport=外网端口

添加完以后记得添加防火墙

 

IIS出现401.2错误

一般情况下,

打开IIS管理器——找到对应站点——身份验证——匿名身份验证——启用

其他情况,比如虚拟主机管理系统创建的站点,一般都创建了对应站点的ftp用户名及ftp密码,文件夹权限也有对应用户的前提下,

在匿名身份验证——编辑权限——选择对应的用户及设置对应密码即可,

也可以通过命令进行设置

%windir%\system32\inetsrv\AppCmd.exe set config "ftp用户名"  -section:system.webServer/security/authentication/anonymousAuthentication /userName:"ftp用户名"  /password:"ftp密码"  /commit:apphost

 

asp模板站访问遇到ADODB.Stream 错误 '800a0bbc',D盾加白

asp模板站点,第一次访问正常,但是访问其他页面后或者再次访问则提示ADODB.Stream 错误 '800a0bbc' 无法写入文件 。。。。等,程序未作修改,

经过不懈的排查和测试,发现是D盾拦截了,打开D盾,然后找到记录查看是否有拦截记录,

程序池加白,

打开D盾的选项,然后在常规选项里对程序池进行加白

技巧

有时候会遇到很多虚拟主机需要加白程序池,单多个站点公用一个程序池的时候,如果加白对应程序池可能会造成安全问题,所以建议单独建立一个加白程序池,遇到需要加白的网站,就把对应的程序池改成d盾加白的程序池,这样方便管理和维护,