Questions tagged «powershell»

Microsoft的交互式外壳程序,脚本和编程语言以及周围环境。PowerShell通常由管理Microsoft软件(包括Windows,Exchange,SharePoint和云服务Azure和Office 365)的系统管理员使用,默认情况下Windows附带了PowerShell,它接管了以前的语言(例如VB脚本)。

5
相当于Ctrl + R的Powershell吗?
在bash中,我可以执行Ctrl+ R并开始键入命令以使其搜索我的历史记录。 如何在Powershell中做到这一点? 有没有办法将键绑定到类似的东西? function GH($str) {get-history | select-string $str} 但是我需要为每个字符输入重新读取字符串,或者将其删除以输出匹配的命令,例如Ctrl+ R。 这可能吗?

2
在Windows 10上找不到Powershell模块'servermanager'
我在虚拟机上运行Windows 10,我想通过在powershell上运行以下命令列出可用的Windows功能: Import-Module ServerManager Get-WindowsFeature 已经运行第一个命令会产生:未加载特定模块'servermanager',因为在任何模块目录中均未找到有效的模块文件。 我尝试使用Windows Server 2008 Powershell Servermanager模块(不包含在Windows Web Server 2008 R2中)的解决方案, 但不适用于我,即我在C:\ Windows \ System32 \ WindowsPowerShell \ v1.0 \中找不到该模块模块。但是,我找不到在Windows 10中如何在64位或32位Powershell之间进行切换。有什么帮助吗?谢谢

2
如何在远程Powershell会话中保留凭据?
我有一个Azure文件共享,并且想在我的Azure VM中使用它-在使用cmdkey将VM中的凭据持久保存并通过网络使用进行安装之后。通过在Windows Server 2012 R2的本地Powershell会话中运行这些命令进行了测试。 但是我需要将此步骤添加到Azure部署脚本中。Azure Powershell脚本从我的笔记本电脑运行,连接到Azure订阅,并使用许多变量从头开始构建VM。 找出了使用Invoke-Command将变量从Azure Powershell脚本传递到新创建的VM上的远程Powershell会话的方法。 $Session = New-PSSession -ConnectionUri $Uri -Credential $DomainCredential $ScriptBlockContent = { Param ($Arg1,$Arg2,$Arg3) cmdkey /add:$Arg1 /user:$Arg2 /pass:$Arg3} Invoke-Command -Session $Session -ScriptBlock $ScriptBlockContent -ArgumentList ($Share,$AccountName,$Key) 错误: PS C:\> Invoke-Command -Session $Session -ScriptBlock $ScriptBlockContent -ArgumentList ($Share,$AccountName,$Key) CMDKEY: Credentials cannot be saved from this logon …

1
仅同步两个IIS 8.5服务器配置(不包括绑定)
我们有两个IIS 8.5 Web服务器Server 2012 R2 服务器1 服务器2 我正在尝试找到一个Powershell命令,该命令仅将Server1上所做的更改同步到Server2 我尝试了共享配置,但是也会同步绑定,我不希望这样,因为它们是负载平衡的。另外,我试图避免将不必要的绑定添加到服务器以使其正常工作。 我发现了几个webdeploy powershell命令,但是看起来它也想同步文件,我们使用DFS同步文件。 我要做的就是将更改从Server1 applicationhost.config或web.config同步到Server2

1
如何使用Powershell管理Hyper-v Cluser
我有2台主机都与Server 2016 Datacenter一起使用 在每个主机上,我有2个VM当前使用共享存储的Dev 我可以完成所有群集工作,例如,实时迁移,移动存储, 我一直在谷歌各处寻找一个脚本,以便能够同时将所有虚拟机保存在群集中。 如果我运行此: $clusterNodes = Get-ClusterNode; $Name = ForEach($item in $clusterNodes){Get-VM -ComputerName $item.Name; } {save-VM -ComputerName $item.Name; } 它将保存虚拟机,但是会提示我两次输入虚拟机名称,每个主机一次。 我的总体目标是能够从一台PC重新配置群集中的所有VM,并且使VM进行很多移动,因此它们并不总是位于同一主机上。 例: 保存所有虚拟机 移出共享存储: Set-VM pv02 -SnapshotFileLocation C:\ClusterStorage\Volume1\pv02 Set-VM pv02 -SmartPagingFilePath C:\ClusterStorage\Volume1\pv02 Set-VMHardDiskDrive -VMName pv02 -ControllerType SCSI -Path C:\ClusterStorage\Volume1\pv02\pv02.vhdx 启动虚拟机 如果我分别登录每个主机,该命令将正常运行,但是在我的生产环境中,我有7台主机,其中包含约100个VM。

1
Windows不受信任域的远程管理
我目前正在尝试在2个不受信任的域之间启用Windows远程管理(特别是Powershell Remoting),并且没有运气。 我的设置的简要说明: domain1-我的工作站在此域上 domain2-我要连接的服务器在此域上 这些域之间不信任。 我正在尝试从工作站(已加入domain1)使用以下命令创建Powershell远程连接: 参数( [参数(必须= $ True)] $服务器 ) $ username =“域\用户” $ password =读取主机“为$ username输入密码” -AsSecureString $ credential =新对象System.Management.Automation.PSCredential($ username,$ password) $ session = New-PSSession“ $ server”-身份验证CredSSP-凭据$ credential -UseSSL -SessionOption(New-PSSessionOption -SkipCACheck -SkipCNCheck) Enter-PSSession $ session 导致以下错误消息: New-PSSession:[computername.domain2.com]连接到远程服务器computername.domain2.com失败,并显示以下错误消息:WinRM客户端 无法处理该请求。由于计算机不受信任,因此计算机策略不允许将用户凭据委派给目标计算机。目标的身份 如果使用以下命令将WSMAN服务配置为使用有效证书,则可以验证计算机:winrm set winrm / config / service'@ …


8
使文件夹中的文件过期:x天后删除文件
我正在寻找一个Windows共享驱动器中的“拖放文件夹”,每个人都可以使用。如果文件在文件夹中放置超过X天,我希望将其自动删除。 但是,似乎所有找到的方法都可以使用该文件的最后修改日期,最后访问时间或创建日期。 我试图将其设置为一个文件夹,用户可以在其中放置文件以与他人共享。如果有人将文件复制或移动到此处,我希望时钟从现在开始计时。但是,除非有人实际修改了文件,否则文件的最后修改日期和创建日期将不会更新。上次访问时间更新太频繁了……似乎只是在Windows资源管理器中打开目录会更新上次访问时间。 有人知道解决方案吗?我认为每天对文件的哈希进行分类,然后根据早于某个特定日期的哈希值使文件过期可能是一种解决方案....但是获取文件哈希值可能会很耗时。 任何想法将不胜感激! 注意: 在这里,我已经看了很多答案...研究了文件服务器资源监视器,powershell脚本,批处理脚本等。它们仍然使用上次访问时间,上次修改时间或创建时间...如上所述,这不符合上述需求。



5
成功运行Powershell脚本后,为什么PsExec挂起?
该脚本相当简单。只需尝试启动一堆Windows服务。在目标计算机上时,本地执行可以正常工作。通过PsExec完成后,脚本实际上也可以很好地执行,直到我在CMD提示符上按“ enter”键后,脚本才永远不会返回。这是一个问题,因为这是从TeamCity调用的,它使代理挂起以等待PsExec返回。 我尝试了以下方法: 在Powershell脚本的末尾添加exit和exit 0 < NUL根据此SF问题中的答案,在PsExec调用的末尾添加a 添加>标准输出重定向 这就是我实际上打电话给psexec的方式: psexec \\target -u domain\username -p password powershell c:\path\script.ps1 无论我做什么,它都将挂起,直到我在本地出现在cmd提示符下为止。点击回车后,我收到消息: powershell exited on target with error code 0.


4
如何在Powershell窗口中添加标题?
我打开了许多PowerShell窗口,其中包含特定于任务的命令历史记录。 在旧的批处理文件有效期内,我会使用Title finance dpt或Title Email Admin。如何在PS中完成此操作?
12 powershell 

2
使用Powershell卸下USB外置驱动器
我正在尝试使用Powershell卸下外部USB驱动器,但无法成功执行此操作。以下是我使用的脚本: #get the Win32Volume object representing the volume I wish to eject $drive = Get-WmiObject Win32_Volume -filter "DriveLetter = 'F:'" #call dismount on that object there by ejecting drive $drive.Dismount($Force , $Permanent) 然后,我检查计算机以检查驱动器是否已卸载,但尚未卸载。 尝试使用布尔值$ force和$ permanent进行不同的排列,但无济于事。切换参数时,dismount命令返回的退出代码会更改。 (0,0) = exit code 0 (0,1) = exit code 2 (1,0) = exit code …

6
无法为CurrentUser设置Powershell ExecutionPolicy
这是我正在运行的命令的示例: PS C:\> Get-ExecutionPolicy -List Scope ExecutionPolicy ----- --------------- MachinePolicy Undefined UserPolicy Undefined Process Undefined CurrentUser Undefined LocalMachine Unrestricted PS C:\> Set-ExecutionPolicy Unrestricted -Scope CurrentUser PS C:\> Get-ExecutionPolicy -List Scope ExecutionPolicy ----- --------------- MachinePolicy Undefined UserPolicy Undefined Process Undefined CurrentUser Undefined LocalMachine Unrestricted 我想将设置CurrentUser为Unrestricted,但似乎无法设置。我检查了此MSDN文档中概述的组策略,但未找到任何已配置的内容。 关于我该如何设置的任何线索?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.