每隔一段时间,我就会注意到 PowerShell 似乎要花很长时间才能完成我告诉它要做的任何事情,直到我想到通过按 Enter 来“唤醒它”。据我所知,这不是任何一个进程的错,因为我什至运行了自定义应用程序,每隔几秒钟将其输出记录到屏幕上,即使在这些情况下,PowerShell 会在一段时间后停止执行任何操作,直到我“试一试”按回车键。
任何想法可能导致这种情况?
我有两个文本文件,想使用 Windows Powershell 找出它们之间的差异。是否有类似于 Unix diff 工具的东西可用?或者还有其他我没有考虑过的方法吗?
我试过比较对象,但得到这个神秘的输出:
PS C:\> compare-object one.txt two.txt
InputObject SideIndicator
----------- -------------
two.txt =>
one.txt <=
Run Code Online (Sandbox Code Playgroud) 是否有单行程序可以在 PowerShell 中压缩/解压缩文件 (*.zip)?
在 Powershell 中的带引号的字符串中包含文字引号字符时,如何转义引号字符以指示它是文字而不是字符串分隔符?
我想在 cmd.exe 中有一个包含星期几的环境变量。
当我运行这个命令时,我得到了我想要的结果。
C:\Users\tisc> powershell (get-date).dayofweek
Friday
Run Code Online (Sandbox Code Playgroud)
在这里,我试图将结果存储在环境变量中。
C:\Users\tisc> set dow = powershell (get-date).dayofweek
Run Code Online (Sandbox Code Playgroud)
但是当我试图得到它时,我没有得到我想要的字符串。
C:\Users\tisc> set dow
DoW=0
dow = powershell (get-date).dayofweek
Run Code Online (Sandbox Code Playgroud)
我的目标是将批处理文件中的变量用于某些备份脚本。
我正在尝试查看一个进程是否在多台服务器上运行,然后将其格式化为表格。
get-process -ComputerName server1,server2,server3 -name explorer | Select-Object processname,machinename
Run Code Online (Sandbox Code Playgroud)
这是最简单的部分 - 当进程不存在或服务器不可用时,powershell 会输出一个巨大的丑陋错误,弄乱表格并且不会继续。例子
Get-Process : Couldn't connect to remote machine.At line:1 char:12 + get-process <<<< -ComputerName server1,server2,server3 -name explorer | format-table processname,machinename
+ CategoryInfo : NotSpecified: (:) [Get-Process], InvalidOperatio nException + FullyQualifiedErrorId : System.InvalidOperationException,Microsoft.Power Shell.Commands.GetProcessCommand
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?如果进程不可用或正在运行,我仍希望收到通知。
是否可以在 PowerShell 中打开 SSH 会话?目前我使用 PuTTY,但如果不需要它会很好。
这是我当前的代码:
Write-output “ENTER THE FOLLOWING DETAILS - When Creating Multiple New Accounts Go to EMC hit F5(refresh) and make sure previous new account is listed before proceeding to the next one”
$DName = Read-Host “User Diplay Name(New User)"
$RUser = Read-Host "Replicate User(Database Grab)"
$RData = ((Get-Mailbox -Identity $RUser).Database).DistinguishedName
$REmailInput = Read-Host “Requester's Name(Notification Email goes to this Person)"
$REmail = ((Get-Mailbox -Identity "$REmailInput").PrimarySmtpAddress).ToString()
Enable-Mailbox -Identity "$DName" -Database "$RData"
Set-CASMailbox -Identity "$DName" -ActiveSyncEnabled $false -ImapEnabled $false - PopEnabled $false
Send-MailMessage …Run Code Online (Sandbox Code Playgroud) 我已经用 C# 进行了相当多的编程,但后来我也编写了很多 T-SQL 脚本。C# 需要分号,而 T-SQL 和 PowerShell 它们是可选的。你为 PowerShell 做什么?为什么?我的直觉是包含分号,但我不知道为什么。
powershell ×10
batch ×1
compression ×1
email ×1
exchange ×1
scripting ×1
ssh ×1
syntax ×1
windows ×1