标签: scripting

NGINX 反向代理:if 块内的 proxy_cache - 可能吗?

我认为从一个小片段开始是最明智的:

    location ^~ /test/ {
            proxy_pass              http://frontend;
            proxy_http_version      1.1;
            proxy_set_header        Connection "";
            proxy_set_header        Host $host;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Real-Port $server_port;
            if ( $remote_addr ~* "123.123.123.123" ) {
                    proxy_cache            cache_base;
                    proxy_cache_valid      720m;
            }
    }
Run Code Online (Sandbox Code Playgroud)

因此,本质上我们想要做的是基于条件 IF 语句设置代理缓存。

上面的方法不起作用,因为 proxy_cache 在 IF 内部无效。

有谁知道如何根据众多 nginx 内部变量之一的正则表达式匹配来代理缓存?

笔记:

我们希望基于 $remote_addr regexp 基本上禁用/启用 proxy_caching。不指定不同的 proxy_cache 值。

谢谢。

scripting nginx proxy cache regex

3
推荐指数
1
解决办法
4120
查看次数

通过脚本更改快捷方式参数

我们这里有一个程序,要求每个用户在桌面上有一个指向 ini 文件的快捷方式。每个文件对于用户来说都是唯一的。最近,我们在单独的服务器上重新安装了该应用程序。我希望能够在客户端计算机上运行一个脚本,该脚本将查看当前的快捷方式,更改服务器名称,然后将其保存到同一位置。

我认为 powershell 为此是必要的。一些效果:

$oldargs = # Pull out the args from the current shortcut using voodoo magic
$args = $oldargs -replace "server1", "server2"
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$env:PUBLIC\Desktop\app.lnk")
$Shortcut.TargetPath = "%ProgramFiles%\appdir\app.exe"
$Shortcut.Arguments = "$args"
$Shortcut.WorkingDirectory = "%ProgramFiles%\appdir"
$Shortcut.IconLocation = "%ProgramFiles%\appdir\pic.ico"
$Shortcut.Save()
Run Code Online (Sandbox Code Playgroud)

真的,我只是不知道如何从当前的快捷方式参数中提取参数。

scripting windows powershell shortcut application

3
推荐指数
1
解决办法
4575
查看次数

使用 import-Csv 导入 pc 列表并使用 powershell 脚本更改属性

我正在尝试编写一个powershell脚本来更改comment使用csv和的电脑列表中名为“ ”的 属性import-Csv。

在此处输入图片说明

这是我的脚本

$computers=Import-Csv -Path "C:\sds.csv" 
foreach ($item in $computers){ 
Set-ADComputer -identity $computers.DistinguishedName -add @{comment="bara"}
}
Run Code Online (Sandbox Code Playgroud)

并听到我的csv文件位于"C:\sds.csv"

在此处输入图片说明

但它跳到这个..

在此处输入图片说明

尝试谷歌搜索并在这里和那里更改,但不起作用!我对power-shell脚本了解甚少,但希望学习。有人可以指导我请什么我搞砸了?

scripting windows powershell active-directory csv

3
推荐指数
1
解决办法
1747
查看次数

在powershell脚本中以参数作为参数读取文件

我试图做一个powershell脚本来读取一个带有参数的文件:

带有参数 ( params.ini) 的文件:

[domain]
domain="google.com"
[port]
port="80"
Run Code Online (Sandbox Code Playgroud)

读取文件的 Powershell 脚本:

Get-Content "params.ini" | ForEach-Object -Begin {$settings=@{}} -Process {$store = [regex]::split($_,'='); if(($store[0].CompareTo("") -ne 0) -and ($store[0].StartsWith("[") -ne $True) -and ($store[0].StartsWith("#") -ne $True)) {$settings.Add($store[0], $store[1])}}

$Param1 = $settings.Get_Item("domain")
$Param2 = $settings.Get_Item("port")

# Displaying the parameters
Write-Host "Domain: $Param1";
Write-Host "Port: $Param2";
Run Code Online (Sandbox Code Playgroud)

但我希望通过参数读取文件。例如:

> scriptExample.ps1 -file C:\params.ini
Run Code Online (Sandbox Code Playgroud)

我应该应用哪些更改?

scripting powershell

3
推荐指数
1
解决办法
1万
查看次数

不使用安装向导创建新的 AD LDS 实例?

是否可以安装新的唯一 AD LDS 实例(使用 cmd 或 PowerShell)?我可以在网上找到的所有资源都只需使用 Active Directory 轻型目录服务安装向导。

PowerShell 具有用于处理现有LDS 实例的 Active Directory 模块,但我还没有找到可用于创建 AD LDS 新实例的方法。

scripting powershell active-directory windows-command-prompt ad-lds

3
推荐指数
1
解决办法
3770
查看次数

用户登录或注销时运行脚本

我正在寻找一种方式来运行的脚本1,当用户登录2 和,当他们注销3他们对4级的Windows 5机。

笔记:

  1. 完美世界脚本意味着 Powershell 脚本,但任何脚本或应用程序都是可以接受的。
  2. 登录也可以意味着在机器启动时,但用户登录将是理想的。
  3. 注销也可能意味着机器关闭,但用户注销将是理想的。
  4. 这台机器不在域中。
  5. Windows 版本是 Windows Vista。

scripting windows powershell logon-scripts login

2
推荐指数
1
解决办法
4344
查看次数

在 Linux 中运行 Python 脚本

我正在尝试在 Ubuntu 上使用 shebang 运行 Python 脚本。当我创建一个 python 脚本时

    #! /usr/bin/env python
    import sys
Run Code Online (Sandbox Code Playgroud)

...并运行它我得到一个shell错误:

    root@host:/home/user# ./test.py
    : No such file or directory
Run Code Online (Sandbox Code Playgroud)

我怎样才能让它工作?

解决方案:使用 dos2unix 从行尾中删除 '\r's。

scripting linux python shell

2
推荐指数
1
解决办法
4107
查看次数

从命令行在 IIS 6 中集成身份验证

在部署新版本的 ASP.NET 应用程序时,我们需要将特定页面的身份验证方法设置为“仅集成”。我们可以从 IIS 管理控制台执行此操作,但希望编写一个脚本(批处理或 powershell,无关紧要)来进行更改以确保部署中的一切顺利进行。

应用程序中的其余页面将允许不同的身份验证方法,但此特定页面仅允许集成。

在同一个部署中,我们还需要更改所有 401 错误的自定义错误页面的位置,最好也从命令行更改。

scripting iis powershell deployment iis-6

2
推荐指数
1
解决办法
1824
查看次数

按文件名删除所有文件(Linux 单行)

CakePHP 有将名为“空”的文件放在空目录中的约定。我敢肯定他们是有原因的,但这真的让我很烦恼。(是的,强迫症,我知道......)

我想要一个单行 linux shell 命令,它将删除每个子目录中名称为“空”的每个文件。(我想能够指定通配符用于更广泛的用途也会很有用。)

有任何想法吗?

scripting linux cakephp

2
推荐指数
1
解决办法
1839
查看次数

在从 linux 生成的电子邮件中获取正确的换行符

我有一个脚本可以通过电子邮件将某些 linux 日志条目发送给我,并且我在 MS Outlook 中阅读了该电子邮件。

问题是所有行都一起运行,行之间没有换行符。

为了解决这个问题,我在邮件命令之前插入了sed "s/$/\n/",但这给了我电子邮件中每行之间的 2 个换行符!

在每行之间获得单个换行符的正确方法是什么(使用 sed)

email scripting log-files formatting sed

2
推荐指数
2
解决办法
1934
查看次数