我想在PowerShell中制作一个简单的计数器。它必须提示用户是否想要更高或更低的数字
起始数字必须为0,且不能小于零或大于10。如果用户想要一个更高的数字,则必须将该数字增加1,如果减少1。然后,它必须能够停止在所需的数字。用这个数字我可以设置一个注册表值
我不知道一种有效的方法来提示用户。我可以使用cmdlet询问他们是键入“更高”还是“更低”,但有没有更有效的方法来实现这一点
比如说,
$i = 0
while (($i -gt 0) -or ($i -lt 10)){
$j
我有一些代码试图复制包含快捷方式的目录:
# Create a directory to store the files in
mkdir "D:\backup-temp\website.com files\"
# Search for shortcuts so that we can exclude them from the copy
$DirLinks = Get-ChildItem "\\web1\c$\Web Sites\website\" -Recurse | ? { $_
我正在编写一个运行可执行文件的脚本,每次可执行文件正常运行时,它都必须创建一个目录和一个输出文件,然后将文件移到目录中。问题在于目录的名称。我将名称作为参数传递给脚本,但名称不是我想要的名称,下面是代码:
IF ($args.Count -eq 2 -or $args.Count -eq 3) {
$c = 0
$i = 0
$cont = 1
do {
./simula.exe $cont RES
IF ($? -ne 0) {
在Active Directory结构内部,在组中的这些字段中设置了值
扩展属性1
可扩展属性2
外延三元
可扩展属性4
大约有300个组设置了一个或多个这些值,我正在寻找一种有效的方法,通过extensionAttribute2在哈希表中对这些值进行分组
我希望检索的格式如下。我将其隔开以使其更具可读性,但本质上是一个哈希表,其中extensionAttribute2的每个唯一值都被设置为一个值,该值是在extensionAttribute2中具有该值的组对象数组
@{
"001"=@
我正在编写PowerShell脚本以更改本地帐户名。当然,第一步是检查帐户是否存在:
$user=[ADSI]"WinNT://$server/$oldName,user"
如果该帐户存在,则没有问题。但如果没有,那么我会得到这个错误:
默认格式:检索成员>“DifferentizedName”时发生以下异常:“找不到用户名。”
+CategoryInfo:NotSpecified:(:)[format default],ExtendedTypeSystemException
+FullyQu
我们在FTP服务器上托管了大量zip文件,这些文件也可以通过HTTP访问。我想做一些类似(gci*.zip)的事情,并给我所有存在于Web服务器上的zip文件
有人知道用干净的方式做这样的事情吗
TIA使用调用webrequest(PS V3)非常简单
当然,正如+arco444所述,目录索引必须是enable
编辑
要获取最后修改的文件,您必须解析HTML,下面是一个示例(必须将regex添加到您的配置中):
$col=@()
$link、$date、$size=“”
$r=iwrhttp
我们正在使用power shell进行Microsoft Exchange迁移。我们成功地执行了“perpare moverequest.ps1”命令。然后我们尝试运行“newmoverequest”命令。但是我们得到了错误。因为它要求SID历史记录和密码迁移权限问题。有许多工具可以帮助我们进行密码迁移,如ADMT工具,以允许密码迁移。但我们正试图通过powershell命令来实现它。有一个命令是“import module SIDhistory”,但其抛出错误
导入模块历史记录
~~~~~~
我正在尝试制作一个脚本,或者只是想办法,使用一个包含服务器列表的.txt文件,浏览每个服务器连接的列表,或者尝试连接每个服务器以查看哪些服务器属于我。如果我能连接,它们就是我的,如果不能,那么我需要将服务器名发送到一个文件。有600多台服务器,所以我无法输入凭据,并且一直试图找到一种使用新SSHSession的方法,该方法不要求输入-Username或-Password。到目前为止,我所拥有的是以下内容,我刚刚开始使用PowerShell,所以我的知识有限,您看到的是我在最终来到这里之前一直在努
我想在远程计算机(不同域)上重置自己的Active Directory密码
如果我在本地使用以下代码段,它将非常有效:
param(
[string]$oldPassword = $(Read-Host "Old password"),
[string]$newPassword = $(Read-Host "New password")
)
$ADSystemInfo = New-Object -ComObject ADSystemInfo
$type = $ADSystemIn
尝试在从新的vNext生成步骤调用的PowerShell脚本中调用以下内容:
$buildDef = $buildServer.QueryBuildDefinitions($project)
本以为这会返回我项目中的所有构建定义。它只返回我的XAML定义,而不返回我的新vNext生成定义。
我是否需要使用不同的函数来执行此操作
希望获取自上次良好生成以来上次生成中的更改集列表
在此之前,我会做如下工作:
$workspace = $buildDef.Workspace.Mappings[0]
我试图使用一个调用System.Enum.TryParse()的类。当我调用addtype并使用-Language CSharpVersion3时,我得到一个
“System.Enum”不包含“TryParse”的定义
使用-Language CSharp3.0版C#目标是.NET运行时的3.5版[1]时出现错误,但没有此类错误
在版本4.0中引入
C的3.0版以.NET运行时的3.5版为目标[1]
在版本4.0中引入
Jessen-如何将4.0或4.5版作为目标?@pauzinho通过指定
是否有方法访问powershell或vbs中的Shell:drive(该Shell:drive)以读取其内容。类似于Get-Childitem Shell:您可以简单地使用cmdlet调用这些命令。
例如:
Start-Process "shell:AccountPictures"
如果需要枚举它们,可以查询注册表:
Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\FolderDescriptions
我正在学习Service Fabric教程,可以在这里找到:
https://azure.microsoft.com/en-us/documentation/articles/service-fabric-create-your-first-application-in-visual-studio/
我启动了PowerShell(在通过OS X并行运行的Windows 10中),管理员根据以下说明执行此操作:
Set-ExecutionPolicy -ExecutionPolicy Unres
我有一个具有以下结构的信件备份文件夹:
F:\Shares\Ltrstore\Backup\20160626-modifieddate\pathto\x$\Production\Letters\customer1\contentIwant1
F:\Shares\Ltrstore\Backup\20160626-modifieddate\pathto\x$\Production\Letters\customer2\contentIwant1
F:\Shares\Ltrstore\Backup\20
我目前正在编写一个简单的PowerShell脚本。
基本上,它应该从记事本中获取服务器列表,并开始解压缩每个服务器上的.zip文件,然后将其解压缩到新文件夹中
但是,脚本并没有提取zip文件下的所有文件。
它只会从中提取一个文件,我不知道为什么foreach循环不能正常工作
请解释一下这个问题。谢谢
$servers = Get-Content "C:\tmp\script\new_unzip\servers.txt"
$Date = ((Get-Date).ToString('dd-MM-yy
我已将一个图像复制到剪贴板,并希望使用Microsoft powershell将此图像复制到幻灯片中 使用
下面是一个使用新空白演示文稿的示例,将剪贴板中的内容粘贴到新幻灯片:
# Open PowerPoint
$PowerPoint = New-Object -ComObject PowerPoint.Application
# Create a new presentation
$Presentation = $PowerPoint.Presentations.Add($false)
我有个问题
我正在尝试获取一个用户的PhysicalDeliveryOfficeName,然后使用它来搜索具有相同PhysicalDeliveryOfficeName的其他用户
Get-ADUser Tom -properties PhysicalDeliveryOfficeName | select PhysicalDeliveryOfficeName
现在我想使用Tom的PhysicalDeliveryOfficeName搜索具有相同PhysicalDeliveryOfficeName的
我已将MAC地址作为字符串存储在变量中:
$macaddress= "1234567"
$testing = { arp -a; | select-string $macaddress }
Write-Host $testing
我正在尝试将命令的输出存储在另一个变量中:
$macaddress= "1234567"
$testing = { arp -a; | select-string $macaddress }
Write-Host $testing
如果该命令在Pow
我在C:\Desktop\Mobile的位置有以下文件
Apple_iphone6.dat
Apple_iphone7.dat
Samsung_edge7.dat
Samsung_galaxy.dat
Sony_experia.dat
Sony_M2.dat
我需要创建一个脚本,将类似的文件写入一个zip。因此,Apple_iphone6.dat和Apple_iphone7.dat文件必须放在一个zip中。
因此,最终创建的zip文件将是:
Ap
我试图设置目录中具有特定修改日期的许多文件夹的所有权,这要求我使用Foreach对象。我能够获得我想要的文件夹的所有名称,但是,我不能在文件夹上使用命令提示符命令“takeown”和“icacls”
以下是我尝试过的:
Get-ChildItem D:\2008_Profile |
?{$_.LastWriteTime -lt (Get-Date).AddDays(-163)} |
ForEach-Object {
echo $_.Name
takeown /f $_.
我得到了这个错误,它说它与websession有关,我不确定我做错了什么
我使用相同的websession($login)登录并访问页面
Invoke WebRequest:无法绑定参数“WebSession”。无法将“Microsoft.PowerShell.Commands.HtmlWebResponseObject”类型的值转换为类型
“Microsoft.PowerShell.Commands.WebRequestSession”。
在U:\PowerShell\BWI\BWI.ps1:
以下是我正在使用的代码:
$ProcessesToCheckFor = (
'company_name_uat-Historian'
)
$FoundProcesses = Get-Process -Name $ProcessesToCheckFor -ErrorAction SilentlyContinue
foreach ($Item in $ProcessesToCheckFor)
{
if ($FoundProcesses.Name -contains
我试图拉一个用户列表(名字和姓氏)、他们的电子邮件地址以及他们所在的容器,但不幸的是,它没有提供我需要的数据。我可以得到大部分信息,但不能得到容器名称
Get-ADUser -SearchBase 'DC=DOMAINNAME,DC=COM' -Filter {(mail -ne "null") -and (Enabled -eq "true")} -Properties emailAddress |
Select givenName,surName,OU,emailAddress |
我需要运行TPM命令(需要管理员访问)
让我们将这些用于图例:
Angelo-标准用户
AngeloAdmin-管理员用户
Windows7-包含标准用户的计算机
如何使用我的标准帐户以管理员身份运行脚本,以使用标准帐户远程执行另一台计算机上的脚本
下面是我将运行的部分代码:
Set-Variable -Name BuildLog -Scope Global -Force
Set-Variable -Name Errors -Value $null -Scope Global -Force
Se
我希望在文件夹(MyFiles)中递归查找扩展名为.zip的所有文件,并在Windows PowerShell中为每个文件运行以下命令
PS C:\solr-7.3.0>java-Dc=myCore1-Dauto=yes-Ddata=files
-Drecursive=yes-jar示例/exampledocs/post.jar“文件完整路径在这里”
您能帮我实现这一点吗?使用查找相关的Zip文件,然后将结果通过管道传送到,以在文件上循环。$\uuu或$psitem变量是通过管道传递的当前对象。
请查看以下URL:
现在,它对下载的脚本说明如下:
运行从Internet下载但未签名的脚本(如果脚本被取消阻止,例如使用Unblock File cmdlet)
我刚刚从technet gallery(PS2EXE)下载了一个脚本,可以运行包含的测试脚本,而无需使用Unblock_file cmdlet。发生了什么事?我是否误解了Microsoft告诉我的内容,或者这是一个小故障?帮助解除阻止文件:
在内部,Unblock File cmdlet将删除Zone.Identifier备用数据流,
作为学习Powershell练习的一部分,我正在尝试筛选所有工作区中名为“Create”的所有方法
我有一个命令,它似乎列出了所有的方法,但是当我将下面的teh的输出传输到-filter或where时,我无法在“Create”上进行过滤
我做错了什么
Get-wmioobject*-List | Where-Object{$\方法}| select-ExpandProperty方法
使用-过滤器
PS C:\Windows\system32> Get-WmiObject * -List |
在HTTP响应中,我看到一些需要使用Powershell在IIS级别过滤的服务器头。我知道如何删除自定义头,但找不到删除服务器头的方法
我在回复中看到的标题。。
服务器类型:XXXXXX
服务器版本:XXXXXX
资料来源:XXXXX
附加数据:XXXXXX
这篇文章解释了如何删除自定义头,它对我很有用,但我似乎找不到使用powershell删除服务器头的方法。
根据您的描述,我建议您可以尝试使用下面的powershell命令删除IIS http响应服务器头:
Set-WebConfigurat
我试图搜索perl脚本目录,并编译从这些文件执行的所有其他perl脚本的列表(有意通过Powershell执行此操作)。一个简单的依赖映射程序,或多或少
在下面的代码行中,我得到了每一行对perl文件的引用的输出,但我真正需要的是相同的输出和找到每个匹配项的文件
Get-Content-Path“*.pl”|选择字符串模式“\w+\.pl”| foreach{Write Host“$\}
我已经成功地使用了一些更复杂的代码,但我认为我可以简化它,并通过几行代码完成大部分工作(上面的代码完成了其
我正在尝试创建一个简单的PS脚本,用于SolarWinds,它将把这个脚本推出并在一堆计算机上运行。基本上,我需要它来导出机器名,并告诉我安装在计算机上的特定软件版本。想想软件审计。例如,我有5台电脑。我想让这个脚本在所有5台机器上运行,并将数据附加到一个csv文件中,显示它们的机器名、应用程序名和应用程序版本,仅适用于名称中包含“Office”的应用程序
$Results =
Get-ItemProperty HKLM:\Software\Microsoft\Windows\Curren
我需要使用的SID.user为所有登录用户设置特殊权限
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\ .png\Userchoice.
我尝试了下面的代码片段,但似乎不起作用
$path=“HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.png\UserChoice”
$Acl=获取Acl$path
$AccessRule
从base64解码密码设置密码后,无法使用active directory进行身份验证
长话短说,我通过winRM从Rundeck(linux)向远程windows系统发送命令。这是我们自动化平台的一部分
问题开始于发送密码,密码可能具有特殊字符,导致linux/windows以不同且独特的方式不满意。因此,我决定在将密码发送到远程脚本之前对其进行base64编码。
这似乎是可行的,所有测试输出的密码都与编码的密码相同,converttosecurepassword接受该字符串
但是,尝试使用新
我发布了一个要使用powershell触发的web应用程序url。我可以使用powershell命令打开firefox
[system.Diagnostics.Process]::开始(“firefox”https://script.google.com/URL“”
但这不是一个好主意,如果我从谷歌注销了什么原因呢。还有其他方法吗?我使用调用WebRequest浏览url并设置anonymous可以执行它
我需要使用Groovy脚本调用SoapUI中的PowerShell文件
这是我尝试过的(不起作用):
“test.ps”中的PowerShell代码如下:
“一些文本…”输出文件C:\temp\filename1.txt-编码ascii
有什么建议可以让Groovy使用PowerShell吗?当你说“不工作”时,它会做什么?嗨,我的意思是我不能执行ps脚本。在这种情况下,ps脚本不会创建文件。从SoapUI Groovy脚本中,我得到了脚本结果:0。这意味着错误,我让它工作了。我的错误文件名应该
我的文件结构如下:
根目录\
阿迪尔
1.xml
2.xml
巴西存托凭证
1.xml
2.xml
3.xml
CDir
2.xml
3.xml
我需要编写脚本,以递归方式检查RootDir下是否存在多个目录中的文件,其中文件路径与RootDir下的一个级别相同
例如,RootDir\ADir\1.xml也存在于位置RootDir\BDir\1.xml
下面的代码返回匹配项的路径,但是它也继续与iteself匹配,尽管有-exclude开关
$rootCompar
我需要确定某个Hyper-V虚拟机使用了多少内存。我对启动内存量感兴趣。可以,但需要仰角
可以使用Hyper-V管理器GUI获得相同的信息,而无需重新设置。有没有一种方法可以通过编程获得相同的信息而无需提升?选项1
您是否尝试然后从中读取所需的参数?那可能对你有帮助
选项2
如果可以解析位于C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machine的VM配置文件,则可以读取启动内存量
您可以设置虚拟机的路径。选项1似乎很有希望,我将尝试一下
我似乎找不到这个问题的答案。
我们有Devops服务器。
我在Active Directory中创建了一个专用服务帐户,用于添加DNS记录。
我正在尝试在管道中使用Powershell添加DNS CNAME记录。不幸的是,它拒绝作为一个dnsAdmin工作。我已经通过动议和设置的授权和所有必要的权利为一个帐户管理DNS记录。我已经测试了该帐户,它可以添加/删除DNS记录而无需升级,因此我100%确定用户帐户没有问题
在我们的服务器上,我安装了“RSAT:DNS工具”,并使用
添加dnsServe
我试图在我们的应用程序池中安装一些东西,但当我使用环境变量而不是字符串时,它不会映射到正确的内置帐户
例如:
if (-not (Test-Path env:USER))
{
$user = 'NT AUTHORITY\NETWORK SERVICE'
}
else
{
$user = $env:USER
}
if ((Test-Path env:USER) -and ($env:USER -eq $user))
{
Set-ItemProperty IIS:\AppP
我正在尝试创建一个powershell脚本,它将帮助实现自动化(从网站收集数据)
我在windows powershell ISE中的脚本(.ps1)中保存了几行命令(我在下面裁剪了一小部分)
我的问题是,当我从上面逐行复制粘贴到终端时,它会返回我想要的结果
但是,当我使用ise运行实际脚本时,会出现各种错误,例如
You cannot call a method on a null-valued expression.
At C:\Users\--\--\script.ps1:13 char:
我正在使用powershell处理目录中的csv文件,但未找到具有当前日期戳的文件。我希望该过程引发错误,通知未找到文件并退出
# Powershell raise error and exit
# File name: sale_2020_02_03.csv
$getLatestCSVFile = Get-ChildItem -Path $Folder -Filter "*.csv" | Sort-Object LastWriteTime -Descending | Select-Objec
我一直想退出。我正在使用Powershell来完成这项工作,但我无法让筛选工作正常进行
例如,此URL返回的数据比筛选器中指定的日期早很多。
https://graph.microsoft.com/v1.0/auditLogs/directoryAudits?\$filter=activityDateTime ge 2020-02-24T18:39:36Z
这是我的密码
$ClientID = "yyyyyy"
$ClientSecret = "xxxxxxxxx"
$loginURL
我试图做一些简单的事情,从Azure函数中使用PowerShell调用命令。目标计算机位于my Azure订阅中,并且位于同一虚拟网络中。下面的代码失败,错误如下
一个困难是Azure函数是“无服务器”的,所以当我尝试各种解决方案时,例如设置本地TrustedHosts文件,它失败了,因为没有这样的文件
我想使用最简单的方法,这是合理的安全。我尝试了其他各种身份验证方案,但没有成功
using namespace System.Net
# Input bindings are passed i
我有一个保存在变量$command中的命令,类似这样的
$command=path\to\.exe
$命令有一个参数-f,它表示文件的路径。此参数可以在同一行中重复多次,以便在多个文件上执行命令,而无需在每次对每个文件执行命令时重新加载必要的模型
示例:
如果我有3个文件需要在上面运行命令,那么我可以这样执行它:
和$command-f'file1'-f'file2'-f'file3'-其他参数
如果我有100个文件,我想知道是否有任何方法可以在PowerShell中执行此操作,因为我显然无法尝
我得到了
%允许运行SYSTEM32%\CMD.EXE。%程序文件%\INTERNET
EXPLORER\IEXPLORE.EXE被阻止运行
如何获得唯一路径?exe后无任何内容?您如何启用日志记录?你问了两次这个问题?我没有,它只是出现在事件查看器中,是的,我问了两次我想现在我问的问题是正确的,但你甚至得到了你另一个问题的答案。为什么不继续呢?您如何启用日志记录?你问了两次这个问题?我没有,它只是出现在事件查看器中,是的,我问了两次我想现在我问的问题是正确的,但你甚至得到了你另一个问题的答案。
我有一行代码:
invoke-command -Session $s -scriptblock {Set-Adgroup $using:ListBox1.SelectedItem -add @{proxyaddresses="$using:smtps"}}
$s是合法会话,$listbox.selecteditem是一个名为Old Sales Users的dist组,$smtps是一个字符串数组,如下所示:
@smtps=“smtp:bla@bla.bla“,”smtp:bla2@bla.b
我有一个NET Core跨平台gRPC服务器。
是否可以从PowerShell调用其方法?怎么做?是的。Grpc提供cli客户端来调用服务器。您的服务器应公开动态发现服务。
请参见是。Grpc提供cli客户端来调用服务器。您的服务器应公开动态发现服务。
请参阅@ZedZip Thanx,但我正在尝试找到一个PowerShell脚本,即如何。如果您想实现grpc cmdlet,而不是从power shell调用grpc cli-直接执行另一个选项是使用power的rest调用通过grpc web代
是否有软件或工具可以快速将VBS代码转换为PowerShell代码
另外,我想知道,以下在VBS代码中带有语句的,如何在PowerShell中表达
With语句很棒,它可以缩短代码,我可以在PowerShell中实现类似的功能吗
我发现PowerShell代码非常简洁,我很好奇知道上面的代码,如何使用最短的PowerShell代码来实现相同的功能
“声明并安装wrdApp
Dim wrdApp:Set wrdApp=WScript.CreateObject(“Word.Application”)
我想构建一个函数foo,它至少需要添加一个字符串。可以添加更多(未指定金额),但不是必需的
我创建了一个类似的函数:
function foo {
[CmdLetBinding()]
param(
[Parameter(Mandatory=$true)][string]$param1
)
if ($args -ne $null) {
$string = $param1 + " " + $($args -join ' ')
当我使用cURL.exe运行以下命令以上载文件时,我没有任何问题:
Curl.exe -X POST -H "X-API-TOKEN: token here" -F file=@"E:\program files\curl\filetoupload.csv"
https://url.com/files
我需要从脚本运行它,所以我想我应该使用PowerShell的Invoke-WebRequest
Invoke-WebRequest : The unde
我有以下声明:
function Get-Datastore { [CmdletBinding()] param ($Name, $Id, $Server, [Parameter(ValueFromPipeline = $true)]$Location) }
function Get-ScsiLun { [CmdletBinding()] param ($Server, [Parameter(ValueFromPipeline = $true)]$Datastore) }
通过这些简单的模拟:
1 2 3 4 5 6 ...
下一页 最后一页 共 663 页