Debugging Powershell调试输出
我有一个powershell脚本,它在多台服务器上的持久连接上创建一些DotNetZip ZIP文件,然后使用Start BitsTransfer将ZIP文件从远程服务器移动到本地服务器 我在两台不同的服务器上运行几乎相同的脚本,在其中一台服务器上,它几乎不会在屏幕上打印任何内容。另一方面,它输出很多看起来像二进制的东西。这是因为在输出所有这些信息的服务器上打开了某种调试设置吗?有没有办法把它关掉?我更希望它像第一个运行脚本的服务器一样干净 谢谢大家! -吉姆 下面是几乎整个脚本(在$webServers数组中没有my ServerName):Debugging Powershell调试输出,debugging,powershell,Debugging,Powershell,我有一个powershell脚本,它在多台服务器上的持久连接上创建一些DotNetZip ZIP文件,然后使用Start BitsTransfer将ZIP文件从远程服务器移动到本地服务器 我在两台不同的服务器上运行几乎相同的脚本,在其中一台服务器上,它几乎不会在屏幕上打印任何内容。另一方面,它输出很多看起来像二进制的东西。这是因为在输出所有这些信息的服务器上打开了某种调试设置吗?有没有办法把它关掉?我更希望它像第一个运行脚本的服务器一样干净 谢谢大家! -吉姆 下面是几乎整个脚本(在$webSe
Import-Module BitsTransfer
foreach($i in $webServers) {
if (!(Test-Path -path \\$i\d$\newDeploy)) {
New-Item \\$i\d$\newDeploy -type directory
}
if (!(Test-Path -path \\$i\d$\newDeploy\backup)) {
New-Item \\$i\d$\newDeploy\backup -type directory
}
if(!(Test-Path \\$i\d$\newDeploy\Ionic.Zip.dll)) {
Start-BitsTransfer -Source \\$webDeployServer\d$\newDeploy\Ionic.Zip.dll -Destination \\$i\d$\newDeploy
}
}
foreach($i in $webServers) {
$sessionForI = New-PSSession -computername $i
Invoke-Command -Session $sessionForI -ScriptBlock {
if ((Test-Path D:\\newDeploy\\backup\\OffM.zip)) {
Remove-Item D:\\newDeploy\\backup\\OffM.zip
}
[System.Reflection.Assembly]::LoadFrom("D:\\newDeploy\\Ionic.Zip.dll");
$zipfile = new-object Ionic.Zip.ZipFile
$e = $zipfile.AddSelectedFiles("name != '*.e2e'","D:\inetpub\wwwroot\OffM", "OffM",1)
$e = $zipfile.AddSelectedFiles("name != '*.e2e'","D:\inetpub\wwwroot\PaEnterprise", "PaEnterprise",1)
$zipfile.Save("D:\\newDeploy\\backup\\OffM.zip")
$zipfile.Dispose()
if ((Test-Path D:\\newDeploy\\backup\\Others.zip)) {
Remove-Item D:\\newDeploy\\backup\\Others.zip
}
[System.Reflection.Assembly]::LoadFrom("D:\\newDeploy\\Ionic.Zip.dll");
$zipfile = new-object Ionic.Zip.ZipFile
$e = $zipfile.AddSelectedFiles("name != '*.e2e'","D:\inetpub\wwwroot\MstrInt-PO", "MstrInt-PO",1)
$e = $zipfile.AddSelectedFiles("name != '*.e2e'","D:\inetpub\wwwroot\Maint", "Maint",1)
$zipfile.Save("D:\\newDeploy\\backup\\Others.zip")
$zipfile.Dispose()
if ((Test-Path D:\\newDeploy\\backup\\PPO.zip)) {
Remove-Item D:\\newDeploy\\backup\\PPO.zip
}
[System.Reflection.Assembly]::LoadFrom("D:\\newDeploy\\Ionic.Zip.dll");
$zipfile = new-object Ionic.Zip.ZipFile
$e = $zipfile.AddSelectedFiles("name != '*.e2e'","D:\inetpub\wwwroot\HC", "HC",1)
$e = $zipfile.AddSelectedFiles("name != '*.e2e'","D:\inetpub\wwwroot\PaOn", "PaOn",1)
if($i -eq 'PYRALNWSP02V') {
$e = $zipfile.AddSelectedFiles("name != '*.e2e'","D:\inetpub\wwwroot\HearPl", "HearPl",1)
} else {
$e = $zipfile.AddSelectedFiles("name != '*.e2e'","D:\inetpub\wwwroot\HearPaPlu", "HearPaPlu",1)
}
$zipfile.Save("D:\\newDeploy\\backup\\PPO.zip")
$zipfile.Dispose()
if ((Test-Path D:\\newDeploy\\backup\\TiMan.zip)) {
Remove-Item D:\\newDeploy\\backup\\TiMan.zip
}
[System.Reflection.Assembly]::LoadFrom("D:\\newDeploy\\Ionic.Zip.dll");
$zipfile = new-object Ionic.Zip.ZipFile
$e = $zipfile.AddSelectedFiles("name != '*.e2e'","D:\inetpub\wwwroot\TiManView", "TiManView",1)
$e = $zipfile.AddSelectedFiles("name != '*.e2e'","D:\inetpub\wwwroot\TiManOnline", "TiManOnline",1)
$e = $zipfile.AddSelectedFiles("name != '*.e2e'","D:\inetpub\wwwroot\TiManPOne", "TiManPOne",1)
$zipfile.Save("D:\\newDeploy\\backup\\TiMan.zip")
$zipfile.Dispose()
}
remove-PSSession -session $sessionForI
}
foreach($i in $webServers) {
if(!(Test-Path -path D:\newDeploy\backup\$i)) {
New-Item D:\newDeploy\backup\$i -type directory
}
Start-BitsTransfer -Source \\$i\d$\newDeploy\backup\OffM.zip -Destination D:\newDeploy\backup\$i
Start-BitsTransfer -Source \\$i\d$\newDeploy\backup\Others.zip -Destination D:\newDeploy\backup\$i
Start-BitsTransfer -Source \\$i\d$\newDeploy\backup\PPO.zip -Destination D:\newDeploy\backup\$i
Start-BitsTransfer -Source \\$i\d$\newDeploy\backup\TiMan.zip -Destination D:\newDeploy\backup\$i
}
foreach($i in $webServers) {
Remove-Item \\$i\d$\newDeploy\backup\OffM.zip
Remove-Item \\$i\d$\newDeploy\backup\Others.zip
Remove-Item \\$i\d$\newDeploy\backup\PPO.zip
Remove-Item \\$i\d$\newDeploy\backup\TiMan.zip
}
[System.Reflection.Assembly]::LoadFrom("D:\\newDeploy\\Ionic.Zip.dll");
$directoryToZip = "D:\newDeploy\backup"
$date = get-date -format "M-d-yyyy"
$zipfile = new-object Ionic.Zip.ZipFile
$e = $zipfile.AddSelectedFiles("name != '*.e2e'",$directoryToZip, "",1)
$zipfile.Save("D:\\newDeploy\\backup\\"+$date+"_WEBbackup.zip")
$zipfile.Dispose()
有这样的调试消息设置-
$DebugPreference
它的默认值是SilentlyContinue
。请查看它是否设置为其他值
如果您还显示了输出的差异,这将有所帮助。它也可以是由$verboseproference
看看这里,了解您对varibales的偏好-
更新:
在
[System.Reflection.Assembly]之前添加一个[void]
:LoadFrom
语句,这样输出就不会污染脚本输出。有这样的调试消息设置-$DebugPreference
它的默认值是SilentlyContinue
。请查看它是否设置为其他值
如果您还显示了输出的差异,这将有所帮助。它也可以是由$verboseproference
看看这里,了解您对varibales的偏好-
更新:
在
[System.Reflection.Assembly]之前添加一个[void]
::LoadFrom
语句,这样输出就不会污染脚本输出。发布一些代码可能会有帮助(而且肯定不会有伤害)。好了!谢谢你的提示:)那么脚本的哪一部分会给你不需要的输出?这可能会有帮助(当然不会伤害)发布一些代码。好了!谢谢你的提示:)那么脚本的哪一部分给了你不想要的输出呢?我运行了[code]dir变量:*preference[/code],这表明两个服务器在所有值上都匹配,所以我想这不是问题所在。事实证明,将DLL推送到远程服务器是一个问题,在第一次这样做之后,输出不会再次显示。。。我想没关系,但我还是很好奇为什么会这样。另外,它在另一台服务器上也做了同样的事情-一台服务器恰好从远程服务器上已有的DLL开始..是[void]部分为我做的。如果这有助于用户1161625,而你又回到了原来的状态(希望你能),请将其标记为已接受的答案。但我不明白空白是怎么做的。。可以说,它只是“静音”输出吗?抱歉,只是看到了这个。它被接受了。是的,它只是使输出静音。:)谢谢。我运行了[code]dir变量:*preference[/code],这表明两个服务器在所有值上都匹配,所以我想这不是问题所在。事实证明,将DLL推送到远程服务器是一个问题,在第一次这样做之后,输出不会再次显示。。。我想没关系,但我还是很好奇为什么会这样。另外,它在另一台服务器上也做了同样的事情-一台服务器恰好从远程服务器上已有的DLL开始..是[void]部分为我做的。如果这有助于用户1161625,而你又回到了原来的状态(希望你能),请将其标记为已接受的答案。但我不明白空白是怎么做的。。可以说,它只是“静音”输出吗?抱歉,只是看到了这个。它被接受了。是的,它只是使输出静音。:)非常感谢。