Articles of PowerShell的

使用Powershell或命令行在Windows中创build压缩/压缩文件夹

我正在创build一个夜间数据库模式文件,并希望将每个晚上创build的所有文件(每个数据库一个文件)放入一个文件夹并压缩该文件夹。 我有一个PowerShell脚本来创build模式。只有数据库的创build脚本,然后将所有文件添加到一个新的文件夹。 问题在于这个过程的压缩部分。 有没有人有任何想法,如果这可以完成与预处理文件夹压缩的Windows实用工具? 如果可能,最好使用该工具,而不是像7zip(我不想在每个客户的服务器上安装7zip,如果我问他们可能需要花费IT时间)。

从Windows cmd中检索文件属性

因为node.js没有提供在窗口上检索和修改文件属性的方法,所以我需要执行一个subprocess。 我想获得所有的文件属性,即: 尺寸 档案 隐 只读 系统 创build/修改/访问时间 文件?/目录?/符号链接? (结) 如果我要执行一个subprocess,我不想调用fs.stat,因为它是一个额外的I / O访问(并且Stats不提供太多的窗口信息)。 如果我执行一个subprocess,我想一次检索所有的数据。 所以,我写了一个PowerShell脚本: var cmd = "powershell -Command \"$item=get-item a -force;[bool]($item.attributes -band [io.fileattributes]::directory);[bool]($item.attributes -band [io.fileattributes]::archive);[bool]($item.attributes -band [io.fileattributes]::reparsepoint);[bool]($item.attributes -band [io.fileattributes]::hidden);[bool]($item.attributes -band [io.fileattributes]::readonly);[bool]($item.attributes -band [io.fileattributes]::system);$item.length;$tmp=$item.creationtime;$tmp.year;$tmp.month;$tmp.day;$tmp.hour;$tmp.minute;$tmp.second;$tmp.millisecond;$tmp=$item.lastaccesstime;$tmp.year;$tmp.month;$tmp.day;$tmp.hour;$tmp.minute;$tmp.second;$tmp.millisecond;$tmp=$item.lastwritetime;$tmp.year;$tmp.month;$tmp.day;$tmp.hour;$tmp.minute;$tmp.second;$tmp.millisecond;$s\""; 这将返回:(一次在javascript: split("\r\n") ) [ 'False', //directory? 'True', //archive? 'False', //symlink? 'False', //hidden 'False', //readonly? 'False', //system? '3', //length (if directory, […]

PowerShell中的echo和Write-Host有什么区别?

我对PowerShell中的echo和Write-Host之间的区别感到困惑。 我有两个文件, POC.ps1和validatePath.ps1 。 这些文件在我的本地机器上,我正在使用Invoke-Command在远程机器上运行它们。 我正在使用PowerShell v3.0。 要执行这两个脚本,我使用下面的命令: .\POC.ps1 -filename C:\Users -user Blaine 这是两个文件: POC.ps1: param($filename, $user) echo $filename echo "This" echo $user $responseObject = Invoke-Command testcomputer -FilePath .\validatePath.ps1 -ArgumentList($filename, $user) -AsJob while($responseObject.State -ne "Completed") { } $result = Receive-Job -Id $responseObject.Id -Keep echo $result 这里是奇怪的地方… validatePath.ps1: Param([string] $filename, [string] $user) function ValidatePath( $filename, $user, […]

从计算机名称列表中获取login用户

我想提取login到远程PC的用户列表,ps名称将使用.csv文件提供。 我能够得到一个命令 Get-WmiObject Win32_LoggedOnUser -ComputerName $Computer | Select Antecedent -Unique 要查询用户名,任何人可以帮助我更多的如何写这个代码?

如何从cmd.exe为PowerShell脚本指定input和输出path?

我是一个使用PowerShell的新手,并且在命令行中使用了newb。 我有一个PowerShell脚本,我希望别人通过cmd.exe运行。 它看起来像这样: Get-Content $i | (Do stuff with strings) | Out-file $o “i”和“o”是用于input和输出的stringvariables,我想由用户select。 我做了一个batch file,它的所有工作都按预期运行,从cmd运行。 我的问题是,我希望用户能够从命令行指定他们的input和输出path,而无需打开PowerShell。 我怎样才能做到这一点?

使用Windows窗体在PowerShell中由PictureBox隐藏的标签

我有PictureBox问题。 当我将PictureBox对接到右上方时,它隐藏了位于表单中心的标签的一部分。 我怎样才能把PictureBox标签? 我认为这是两个( Image和Label声明)对接声明的问题,这就是为什么它被PictureBox隐藏。 我怎样才能正确地做到这一点? 表单声明: $Form = New-Object System.Windows.Forms.Form $Form.Text = "Something" $Form.StartPosition = "CenterScreen" $Form.Topmost = $True $Form.BackColor = "White" $Form.Width = [System.Windows.Forms.SystemInformation]::PrimaryMonitorSize.Width $Form.Height = [System.Windows.Forms.SystemInformation]::PrimaryMonitorSize.Height – 50 #$Form.AutoSize = $True $Form.AutoSizeMode = "GrowAndShrink" $Form.ControlBox = $false $Form.MinimumSize = New-Object System.Drawing.Size(1280,1024) $Form.MaximumSize = New-Object System.Drawing.Size(1920,1080) 图像声明: $Image = [system.drawing.image]::FromFile("C:\xxx.png") $pictureBox = new-object […]

无法在PowerShell上导入MSOnline(Connect-MsolService错误)

我有这个问题,无法find任何答案。 问题是我试图使用Azure cdmlets通过c#代码连接到O365,但是我无法获得connect-msolservice 。 “尝试在Office 365中运行pipe理Windows PowerShell cmdlet”时出现“无法识别该术语”错误“

PowerShell 2.0redirect文件句柄exception

我正在寻找一个解决schemeThe OS handle's position is not what FileStream expected. Do not use a handle simultaneously in one FileStream and in Win32 code or another FileStream. The OS handle's position is not what FileStream expected. Do not use a handle simultaneously in one FileStream and in Win32 code or another FileStream. 这个exception也可以用在包含“修复”的脚本中调用的脚本上。 为了这个问题的目的,说我有两个脚本: foo.ps1 # <fix> […]

从本地复制文件复制项目使用凭据删除服务器

我想从本地机器上复制一些文件和文件夹到远程服务器: Copy-Item .\copy_test.txt -destination "\\serverip\c$\backups\" 但我得到一个错误: 复制项目:login失败:未知的用户名或错误的密码。 在线:1 char:10 + Copy-Item <<<<。\ copy_test.txt -destination“\\ serverip \ c $ \ backups \”-verbose + CategoryInfo:NotSpecified:(:) [Copy-Item],IOException + FullyQualifiedErrorId:System.IO.IOException,Microsoft.PowerShell.Commands.CopyItemCommand 我试图使用凭据,但是这个命令不允许-Credential参数。 我search了很多,在每个例子中,只要执行Copy-Item $source -destination $destination ,命令都非常简单,我想知道为什么在我的工作站中这么辛苦。 创build新的PSDrive 我试图创build一个New-PSDrive但没有奏效。 $creds = New-Object -TypeName System.Management.Automation.PSCredential -argumentlist $username, $password New-PSDrive -Name X -PSProvider FileSystem -Root '\\$serverip\c$' -Credential $creds -Persist Copy-Item '.\copy_test.txt' -Destination […]

自动访问DB5到MySQL

我有一个问题,希望我可以依靠这里的一些经验来寻求build议,并推动正确的方向。 我有一个由专有软件制作的MS Access文件。 我只想从这个表中取出一半的列,然后导入到新的(尚未安装的)mysql数据库中。 我不知道该怎么做,或者最好的方法是什么。 新的数据将获得每晚,并再次导入,作为一项自动任务。 访问数据库中的一个列是一个URL到一个JPEG文件,我想要下载这个文件并自动导入到BLOBtypes的数据库中。 有没有办法自动做到这一点? 这将在Windows机器上,所以也许它可以与WSH脚本?