这是一个复制品。我认为在这里问这个问题更合适
我正在玩PowerShell脚本,它们工作得很好。但是,我想知道是否有任何方法也可以显示所有运行的命令,就像您自己手动键入命令一样。这类似于批处理文件中的“echo on”。我查看了PowerShell命令行参数和cmdlet,但没有发现任何明显的问题。C:\workspace\silverlight>start-transcript-?
C:\workspaces\silverlight> start-transcript -?
NAME
我使用的是PowerShell 2.0,我想通过管道导出某个路径的所有子目录。下面的命令输出所有文件和目录,但我不知道如何过滤这些文件
Get-ChildItem c:\mypath -Recurse
我曾尝试使用$\uu0.Attributes来获取属性,但是我不知道如何构造System.IO.FileAttributes的文本实例来与之进行比较。在cmd.exe中
dir /b /ad /s
对于低于3.0的PowerShell版本:
Get-ChildItem -Directory
区别很明显,我更喜欢cmd.exe的简洁性,而不是powershell的冗长性
我可以在powershell中使用相同的简洁性吗?如果不是所有的命令,那么可能只是针对我经常使用的删除项?可以得到的最接近的结果是将全局$ErrorView值更改为“CategoryView”。另一种方法是创建您自己的视图。这里有一些源材料,可供Shay回答:@halr9000-感谢您提供的信息。如果你能把它作为一个答案,我很乐意相信你。
C:\dev\windows>rmdir /s/q bin
bin\Do
我有一些powershell要发送电子邮件:
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$smtp.Send($emailFrom, $emailTo, $subject, $body)
这在我今天之前试过的每台机器上都能正常工作。我有一台机器,在那里我收到以下错误消息:
使用“4”参数调用“发送”时出现异常:“发送邮件失败。”
在R:\sqlrestore\scripts\Utilities\Check Lag.ps1:15 ch
我正在尝试导出组成员身份-以下是脚本,但是是否可以
根据用户ID设置一个过滤器,比如,我想导出所有用户,前缀为K
$FilePath = "c:/data/ADGroupmembership_09feb.csv"
$OuDomain = "DC=test, DC=abc, DC=com"
Get-QADUser -searchRoot $OuDomain -SizeLimit 0 | Select-Object dn, sAMAccountName, @{Name="Groups";Expres
我正在为特定客户端编写PowerShell脚本。我在我们的几台台式机上测试了该脚本,客户机在客户机系统上尝试了该脚本。我遇到了以下问题:
问题1
作为一个好的小蜜蜂,我定义了一组帮助文本,所以当你在我的脚本上运行Get help时,它会给你详细的帮助。我使用了以下语法:
<#
Get-Help
.SYNOPSIS
C> FileWatcher.ps1 -FilePath <FileName> -SenderEmail Bob@Foo.com ^
-ToEma
做过谷歌搜索,但没有找到合适的答案
我有
$a = @(
@{"name"="a"; "value"="1"},
@{"name"="b"; "value"="2"}
)
Foreach($x in $a){
$obj = New-object psobject
Foreach($key in $x.keys) {
$obj ¦ add-memb
标签: Powershell
registrywindows-explorertfs-power-tools
解答如何从Windows资源管理器启动PowerShell
我想在预加载TFS外壳管理单元的情况下从Windows资源管理器启动PowerShell
我使用此命令**创建了一个批处理文件(RunPowerShell.bat),并将其放在System32目录中:
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -PSConsoleFile "C:\Program Files (x86)\Microsoft Team Foundat
今天刚开始写一个脚本,但在我进入它的主要核心之前,当我运行下面的并选择M作为multiple时-IF语句转到M,然而,当它弹出一个窗口来请求路径时,我故意关闭窗口,它会出错并直接转到else语句
如何让脚本结束,如果我选择$answer-eq M,那么当我退出脚本时,它将在那里关闭,然后在if语句中关闭,而不是继续执行ELSE语句
我希望以上所说的有道理——想不出更好的解释方法
此外,我对以下陈述不满意:
while("S","M" -notcontains $answer)
问题是,如果一个
我正在使用以下表达式从PowerShell中删除文件夹。我需要删除一个完整的文件夹,包括所有的文件和子文件夹
Remove-Item -Recurse -Force $DesFolder
但这给了我一个例外,目录不是空的
我不是每次运行程序时都会遇到这个异常;这是随机发生的。出现这种情况的原因是什么?我该如何解决?因为我没能复制它。我们不能使用rmdir或Remove Item之类的命令删除非空目录,这是为了避免用户在编程过程中意外删除重要的系统文件
因此,在尝试删除目录之前,请清空它。清除内
一般来说,我对使用PowerShell和计算机编程是完全陌生的。我试图创建一个脚本,如果进程超过10mb的工作集,它将终止进程(本例中为firefox)。我希望使用if语句并包含piping命令来完成此操作。到目前为止,我有:
get-process|where-object {$_.ProcessName -eq"firefox"}
if ($_.WorkingSet -gt10000000)
{kill}
else
{"This process is not us
以下代码生成一个具有水平列出的属性的表:
("server1","server2") | %{ Get-ADComputer $_ -Properties * } |Out-GridView
如何改为垂直列出属性,如下所示:
DisplayName server1 server2
DNSHostName server1.domain server2.domain
Enabled true false
IPv4Address 1.2
标签: Powershell
powershell-2.0powershell-3.0powershell-1.0
我的目标:
创建一个新选项卡,并将其命名为函数
我的问题:
在函数内部创建新选项卡时,我无法命名该选项卡
注意事项:
当我在函数外部创建选项卡时,它会正确命名
我的代码:
Function Function_CreateWorksheets($Worksheets) {
ForEach ($Worksheet in $Worksheets) {
$Excel_Count_Worksheet++
If ($Excel_Count_Worksheet -gt
我尝试使用PowerShell从Jenkins下载工件,如下所示:
$webClient = new-object System.Net.WebClient
$webClient.Credentials = New-Object System.Net.NetworkCredential ("username", "password")
$url = "http://jenkins/job/jobName/lastSuccessfulBuild/artifact/*zip*/archive.zi
我有一个简单的配置:
Operation;Job_ID
PROD1;0
CA1;0
CON1;0
CON2;0
ADDR1;0
我将配置加载到变量中,并在处理过程中更新配置。为了简单起见,我将向您展示一个我正在做的简单示例;实际上,脚本要复杂得多:
$Config=import csv-分隔符“;”\tst.csv
($Config |?{$\作业ID-eq 0}).count#返回5
$Config[0]。作业ID=1
$Config[1]。作业ID=2
$Config[2]。作业ID=3
我需要重命名在目录中找到的具有模式的文件。
带有YYYY-MM-DD-HH-MM-ss_uu的日期格式需要放在现有文件名的前面
如果文件名abc.bbc.ccc.txt则应为YYYY-MM-DD-HH-MM-ss_abc.bbc.ccc.txt
实际上,文件必须用新名称移动到其他目录
请给我小费
如何在给定目录中按上述要求重命名文件
将具有新名称的文件移动到任何目录
我试过了,但没用
$sysname=$env:COMPUTERNAME
$Date = Get-Date
$Now = Ge
我使用此功能下载一些RSS提要并将其写入Excel文件:
函数获取RSS{
参数([string]$url)
$Results=@()
$wc=新对象Net.WebClient
$wc.Encoding=[System.Text.Encoding]::UTF8
[xml]$resp=$wc.DownloadString(“$url”)
$article=$resp.rss.channel.item
foreach(在$article中){
[字符串]$description=$in.descri
我需要帮助才能在目标文件夹中搜索上次修改日期早于180天的lastresh.xml文件。如果发现此文件较旧,则应将此XML文件所在的整个文件夹移动到另一个目标路径的存档路径
$targetfolder = "\\something\*\*\*\*\*\files\files\
$archivefolder = "\\something\*\*\archive\
我使用下面的脚本让这个文件夹工作,它检查文件夹的修改日期,这个工作
$targetfolder = "\\something\*\*\
我有一个使用PowerShell Studio创建并导出为PS1文件的GUI。我现在正试图通过使用其他用户的凭据调用此GUI来启动它
当我运行代码时,它甚至没有给出错误消息。PowerShell会弹出并在几秒钟内再次关闭,但不会启动任何内容。接下来,我想我遵循了正确的语法
$Script = 'S:\Prod\Script center\GUI Script.ps1'
$Credentials = Get-Credential
$powershellArguments = "-file '$Sc
我正在Powershell中使用以下代码片段:
$fd = [System.IO.File]::OpenRead($file)
$buf = new-object byte[] (8MB)
$read_len = $fd.Read($buf,0,$buf.length)
缓冲区中显示的数据是否可能不是驱动器上的实际数据?我还没有遇到具体的问题,但我正在想象从USB或网络驱动器读取数据时可能出现的问题
我询问的原因是,我正在读取整个文件,并将每个缓冲区写入一个新文件。我在读取文件时计算MD5散列
我正在尝试登录计算机。
我一直在玩各种版本的游戏,并确定我过去的问题是当我不知道我真正想做什么的时候
运行脚本时,我发现我的电脑不正确
当我现在在正确的PC上运行脚本时,以下代码要求我输入密码
gwmi win32_service –credential domain\username –computer PC#
我的当前脚本有没有办法在没有用户输入的情况下强制执行用户名和密码?我必须在100秒的PC上执行此操作,因此我希望在所有PC上循环,而用户不必输入100秒的密码
我试着做了以下几点:
下面是目前让我头疼的示例代码
if((((“Win32.NativeMethods”-as[type])-eq$null){
添加类型-MemberDefinition'[DllImport(“user32.dll”)]公共静态外部bool ShowWindowAsync(IntPtr hWnd,intncmdshow);
'-name NativeMethods-命名空间Win32
}
类AppInstance
{
[string]$App='Notepad.exe'
[IntPtr]
这是我们使用Microsoft InTune管理的非域环境
我需要能够执行FOR命令,使用下面显示本地Administrators组中所有用户的CMD从本地PC上的Administrators组中删除所有用户
Net LocalGroup Administrators | Where {$_ -AND $_ -NotMatch "command completed successfully"} | Select -skip 4)
上面将显示本地PC上Administrators组中的所有用户。
对不起,我的英语不好,希望你能理解我
我有一个PowerShell脚本来监视CPU的使用情况,并在PowerShell命令行上很好地执行脚本。
但当我在Windows任务调度器上调度相同的脚本时,它开始执行,但不考虑参数SampleInterval和MaxSamples。如以下命令所述:
$Counter = @{
Counter = "\Processor(_Total)\% user time", "\Processor(_Total)\% idle time", "\Process
我想在设置新权限之前删除MSMQ队列上的所有权限,这将通过Octopus部署。
这样我们就可以确保不存在任何遗留权限,并且确保这些权限相同
$QueueName = "MyQueue"
$QueuePermissions = Get-MsmqQueue -Name $QueueName | Get-MsmqQueueACL
$QueueUsers = $QueuePermissions.AccountName | Get-Unique
foreach ($User in $QueueUsers)
我是VBScript和PowerShell新手。我有一个PowerShell脚本,当我从命令行调用它时,它可以正确运行。但是,当我尝试从VBScript调用它时,它会运行,但不会执行任何操作
我在CLI上使用的命令是
powershell.exe -nop -exec bypass -noni -command "& { . C:\<censored path>\testscript1.ps1; Get-Test }"
powershell.exe-nop-exec-byp
我一直在试用一个脚本来获取广告组和广告用户所在组中的组。
这个脚本效率不高,因为我不得不使用多个foreach循环才能在一个组中找到一个组。
是否可以使此命令比使用foreach循环更有效/更小
function GetADSubGroups ($object)
{
Get-ADPrincipalGroupMembership $object | ForEach {
$_
Get-ADPrincipalGroupMembership $_ | ForEac
我无法找到使用Powershell或WMI从应用程序日志中提取“故障进程ID”的方法。下面返回错误,但是对于一些进一步的代码,我需要实际的PID,而不是应用程序名。这能做到吗
Get-EventLog application 1000 -entrytype error -newest 5 | Select-Object timegenerated,message,@{name='Executable';expression={$_.ReplacementStrings[0]}}
这应该让您从
我是脚本编写新手,我想请您在以下方面提供帮助:
此脚本应为计划任务,该任务与Veritas NetBackup一起工作,并以CSV格式创建备份寄存器
我正在生成两个源文件(.csv逗号分隔):
一个文件包含:JobID、FinishDate、Policy等
第二个文件包含:JobID、TapeID
在第二个文件中,可能存在多个具有不同TapeID-s的相同作业ID
我想说的是,源文件1中每一行的脚本都应该检查所有源文件2,如果存在JobID匹配,如果是,它应该有以下输出:
JobID,Fin
我正在努力做到以下几点:-
运行脚本
重新启动
自动运行一些脚本块
重新启动
等等
我发现下面的代码片段帮助我实现了它
# Temp Folder
if (!(Get-Item d:\temp -ea ignore)) { mkdir d:\temp }
$dropperscript = 'C:\temp\dropper.ps1'
$dropper = @'
#############################################
### Configurat
我正在编写一个powershell脚本,它将在activedirectory中创建批量用户。如前一篇文章所述,我对Power Shell还相当陌生,希望在开始使用任何东西之前保持安全。下面是脚本,其中一些是借用的。它将从导入csv cmdlet中记录的.csv中读取数据。理想情况下,这将创建用户并定义用户的全名、名字、姓氏、用户名、SAM名称、电子邮件、标题、描述和经理。它还将设置密码
我希望得到关于以下脚本外观的任何反馈。如果您有任何问题或需要任何其他信息,请告诉我
Import-Mo
我试图将大量数据转储到一个文件中,但如果花费的时间太长,我希望退出转储。在PowerShell中有这样做的方法吗?我尝试了下面的方法,但发现逻辑不正确,无法满足我的需要
$time = get-date
do
{
dir c:\ -Recurse | Set-Content .\outtext.txt
}
while ((Get-Date).AddSeconds(5) -le $time)
使用此示例,如果作业尚未完成,它将在一分钟后停止作业:
$Now = Get-Date
Sta
我试图将TimeSpan的字符串输出格式化为$h Hours$m Minutes,以实现复数化。现在,我有下面的代码,它工作得很好;但是,当它遇到不到一小时的时间跨度时,它将显示为0$m分钟
我试图找出是否有其他人解决了这个问题,但我能找到的最接近的是zuallauz'in
不幸的是,时间跨度在Powershell中的行为似乎有所不同,它们将分别显示天和小时,这意味着25小时45分钟的时间跨度将存储为:
New-TimeSpan -Hours 25 -Minutes 45
Days
我有一个代码,它通过Active Directory计算机对象来收集信息。然后在Active directory描述字段中更新部分信息。
我的问题是,当我收到异常消息时,计算机的AD对象仍会使用上次找到的计算机信息进行更新。
我想了解如何:
出现异常时更新广告说明。消息
使用填充的系统信息更新广告说明
附件是我正在使用的脚本,但无法确定将两个Set ADComputer语句的输出放在何处
# Getting computers from Active Directory
$C
我正在使用git bash,vagrant文件已添加到我的项目中,但当我尝试运行vagrant UP命令时,它会出现以下错误:
$ vagrant up
The executable 'powershell' Vagrant is trying to run was not
found in the %PATH% variable. This is an error. Please verify
this software is installed and on the path.
帮我修一下
我在PowerShell中遗漏了一些基本的东西
我有一个生成两个集合的脚本,一个是包含特定应用程序版本详细信息的计算机名,另一个是从计算机名列表中提取的单独用户名列表,因为用户名位于计算机名中,例如,计算机名为:
XXXXXX02jbloggs
此计算机的所有者是jbloggs,jbloggs是一个有效的广告对象,其全名为joe blogs
脚本的最终目标是生成一个包含计算机名、所有者SamAccountName、全名和应用程序详细信息的报告,脚本将专门检查这些信息
比如说,
这一系列机器上有
我已经编写了一个脚本,递归地循环遍历每个目录,查找word文件,并在页脚追加“机密”。这一切都很好,直到它遇到一个加密文件,导致脚本挂起,当我在密码提示上单击“取消”时,它导致脚本崩溃。我已经试过了
在打开文档之前,请检查文档是否已加密,但仍会打开提示,这会使脚本崩溃。是否有可靠的方法来检查文档是否受密码保护,从而可以处理.doc和.docx文件?我已经尝试在另一个线程中使用代码,前两个方法不起作用,第三个方法检测每个文件是否加密,因为它会引发异常
当前代码:
$word = New-Objec
我有一个WCF服务器,它有多个w3wp.exe进程正在池中运行。
在powershell重新启动w3wp进程之前,我正在尝试确定哪个w3wp.exe进程属于哪个客户端。
这是w3wp.exe进程的命令行。
c:\windows\system32\inetsrv\w3wp.exe -ap "Default Web Site" -v "v4.0" -l "webengine4.dll" -a \\.\pipe\iisipm87e837ff-3710-45dc-ad18-43c9aa4441c1 -h
我有一个脚本,在下面,我有一个脚本文件夹。它引用一组命令提示符应用程序$cmd1.exe等。。在VS代码中使用Powershell或集成Powershell终端,我将按照以下步骤使用它:
点从脚本目录>中获取脚本的源代码。\new customconfig.ps1
更改到工作目录>cd[新目录]
使用脚本中的函数并从工作目录传递文件名>New CustomConfig。\filename
在我第一次运行脚本时,它会从工作目录中传递该文件,但在任何后续运行中,它都会在脚本目录中查找该文件
我做错什
我们希望搜索系统上的.ZIP文件,找出哪些文件使用7zip(AES 256加密)进行了密码保护,哪些没有。据我所知,没有内置的指示器、标志、属性等来标记文件是否受密码保护
所有存在的问题导致人们使用DotNetZip,但这是在CodePlex上分发的,现在已经存档了-我可以从那里下载的文件似乎不包括Ionic.Zip.dll,我认为这是我需要的部分()
同样,gitHub和nuGet上也有流行的版本,它们只包含其他dll(Ionic.Copy.dll和Ionic.IO.JunctionPoint
我试图通过删除最后25个字符来获取病毒的文件夹位置,我发现这可以通过我已经测试过的代码来实现,并且运行良好
$string = "the scripts"
$string = $string.Substring(0,$string.Length-1)
$string
示例字符串
C:\Users\jose\Desktop\MUSICA\011_Leyendas\nlwdvakybapcybqkvcfwr\nlwdvakybapcybqkvcfwr.exe
C:\Users\jose\Deskt
我正在尝试运行一个命令,将本地管理员添加到计算机上。然而,我正在努力将其与脚本结合起来,以便将其推送到Active Directory中特定OU下的所有域计算机
下面是我用来创建用户的第一个脚本
我还有一个脚本,可以将所有必需的OU计算机拉入CSV,但我需要将下面的脚本推送到CSV中的PC。这可能吗?
我只希望它运行一次,而不是作为启动脚本,因为我不希望它创建多个用户
$Username = "user"
$Password = "Password"
$group = "Administrato
我正在尝试在Powershell中创建一个简单的程序。如果用户在提示符下选择“Y”,我尝试将两个不同的文件夹备份到一个位置。如果用户选择“N”,则不应提示用户输入第二个文件夹,而应仅提示用户输入备份位置
然而,这对我不起作用,我被卡住了。有人能帮忙吗?非常感谢
$ErrorActionPreference = "Stop"
#If there is a error stop!
$theFolder = Read-Host -Prompt "Enter folder location you wi
我有一个NAS,我把我的大部分DVD都撕了下来。这个问题与系列有关。当我必须翻拍一季时,必须手动输入详细信息(标题、评论等)
为了解决这个问题,我写了以下脚本:
$array = @()
(Get-ChildItem -Path 'c:\Videos\Dead Like Me\*.mpg' ).FullName |
foreach{
$array += $_
}
$i = 0
Do {
$Episode = $i + 1
$NewName = "Dead Lik
我有一个文件太大,无法打开。但是,我只需要这个文件的最后一部分。有一行文本包含此字符串:DATA FROM NSERCH=249
如果我可以将所有内容从该行拖到文档末尾,我应该能够打开该文件。您可以为此使用Get Contentcmdlet并读取行,直到找到您选择的字符串作为起始点:
$filename = 'FULL PATH TO THE TOO LARGE TO OPEN FILE'
$outputPath = 'FULL PATH TO THE OUTPUT.TXT FILE'
$
我正在尝试在powershell脚本中运行一个长的PowerCLI命令,并根据它的成功将其输出到控制台。命令正在执行并成功,但未触发成功输出
我尝试将整个命令设置为变量,但没有成功。我怀疑有一种更先进的方法可以做到这一点,我只是不知道
Try{
#get list of all vms
Write-Host "Collecting data and adding to file..."
[Environment]::NewLine
我们需要将普通数字转换为货币值。然而,我们发现似乎没有任何效果
我们尝试了下面的基本代码,但返回的值为$123456.00,而实际值为$1234.56
$rawNumber = 123456
$newNumber = 0
$newNumber = "{0:c}" -f $rawNumber
我们尝试了不同的“{0:c}”(c2、c1等)迭代,但它总是返回一个数字,但只是在末尾加上零
我们尝试将数字转换为字符串,并插入十进制、逗号和美元符号,但我们所处理的数字可以短到两个,也可以长到十个,因此
如果我的最后一个命令类似于'dir',那么调用历史似乎可以正常工作。如果我的上一个命令类似于“vim$profile”,那么调用历史将显示该命令并挂起。有办法解决这个问题吗?我在powershell中的很多工作都涉及编辑脚本,然后运行它。。。这正成为一个巨大的问题 从Windows PowerShell 5.1/PowerShell[Core]7.0开始,它看起来像一个bug:
vim等程序依赖于能够直接打印到终端控制台,而无需PowerShell作为中介
对于直接调用,这可以按预期工作
通过调
我有多个PSCustomObjects,我想将这些值存储在csv文件中
我的代码将值存储在csv文件中,但我总是得到一个只有一列的csv文件
以下是我创建csv文件的代码:
function Create-CSVFile
{
<#
Create a CSV file with the information of the xml files
#>
[CmdletBinding ()]
Param
(
[Paramete
抱歉,我还不了解PowerShell
我有两个哈希表,一个包含标签名和ID,另一个包含文件夹路径和标签名
我正在尝试提取标签ID,例如“e58e1e18-da7e-493c-9961-a7deff6dc7f7”,以便在for each语句中使用
我正在遍历文件夹的哈希表,需要能够将文件夹键与标签值匹配,如果存在匹配项,则从标签哈希中提取该值
示例:“C:\OTD\Cat”的id为“e58e1e18-da7e-493c-9961-a7deff6dc7f7”,因为标签1在两个哈希表中都匹配
$lab
1 2 3 4 5 6 ...
下一页 最后一页 共 1185 页